当前位置: 首页 > 知识库问答 >
问题:

持久化/缓存RDDs上的Spark RDD检查点执行DAG两次

司徒光霁
2023-03-14

当我运行如下代码时:

val newRDD = prevRDD.map(a => (a._1, 1L)).distinct.persist(StorageLevel.MEMORY_AND_DISK_SER)
newRDD.checkpoint
print(newRDD.count())

观察Yarn中的阶段,我注意到Spark进行了两次DAG计算--一次是用于实体化RDD并缓存它的DISTINCT+计数,然后是完全第二次用于创建检查点副本。

val newRDD = prevRDD.map(a => (a._1, 1L)).distinct.persist(StorageLevel.MEMORY_AND_DISK_SER)
print(newRDD.count())

newRDD.checkpoint
print(newRDD.count())

我已经创建了一个Apache Spark Jira票证,以使其成为一个特性请求:https://issues.Apache.org/Jira/browse/Spark-8666

共有1个答案

马绪
2023-03-14

看来这可能是个已知的问题。请参见旧的JIRA票证https://issues.apache.org/JIRA/browse/spark-8582

 类似资料:
  • 和RDD相似,DStreams也允许开发者持久化流数据到内存中。在DStream上使用persist()方法可以自动地持久化DStream中的RDD到内存中。如果DStream中的数据需要计算多次,这是非常有用的。像reduceByWindow和reduceByKeyAndWindow这种窗口操作、updateStateByKey这种基于状态的操作,持久化是默认的,不需要开发者调用persist(

  • RDB的时间:latest_fork_usec:936 上次导出rdb快照,持久化花费,微秒。 检查是否有人使用了SAVE。

  • 如果一次调用<code>会话。保存(customerObject)则不需要插入客户…查询数据库。Hibernate将设置id属性(“序列”或“增量”生成器),并将实体绑定到持久性上下文。当<code>事务时,持久性上下文与数据库同步。调用commit() Q:Hibernate将在哪里设置id属性 Q:在与db同步之前,持久性上下文缓存sql查询是否会插入到customer…中?我的意思是,何时生

  • 本文向大家介绍浅谈Webpack 持久化缓存实践,包括了浅谈Webpack 持久化缓存实践的使用技巧和注意事项,需要的朋友参考一下 前言 最近在看 webpack 如何做持久化缓存的内容,发现其中还是有一些坑点的,正好有时间就将它们整理总结一下,读完本文你大致能够明白: 什么是持久化缓存,为什么做持久化缓存? webpack 如何做持久化缓存? webpack 做缓存的一些注意点。 持久化缓存 首

  • 我使用JPA(Eclipse Link 2.5)进行持久性。我的Web应用程序包含AJAX页面更新。保存帖子时,发布的内容会在不刷新浏览器的情况下显示。该帖子具有使用OneTo多关系与之关联的标签。这些标签应该在保存后也会显示出来。但是,由于启用了缓存,我无法获取标签。 这是我的代码: 我怎样才能让事情运转起来?如何刷新一个实体及其所有关联的实体?谢了。