Scala 我们需要为单个操作调用缓存吗?
例如,我有一个spark会话,这个会话只包含一个动作和很多转换。在任务执行期间,分区不会失败。那么,在这种情况下,Scala 我们需要为单个操作调用缓存吗?,scala,apache-spark,Scala,Apache Spark,例如,我有一个spark会话,这个会话只包含一个动作和很多转换。在任务执行期间,分区不会失败。那么,在这种情况下,缓存是否不必要?因为缓存用于在操作之间共享rdd。否,在您的情况下不需要调用cache()。否,在您的情况下不需要调用cache()。您基本上回答了自己的问题 cache只有在对缓存的RDD调用至少一个操作后才会生效。这意味着RDD的整个DAG至少需要从头计算一次 由于您只有一个操作,cache不会执行任何操作。除了耗尽执行者的记忆。你几乎回答了自己的问题 cache只有在对缓存的R
缓存是否不必要?因为缓存用于在操作之间共享rdd。否,在您的情况下不需要调用cache()
。否,在您的情况下不需要调用cache()
。您基本上回答了自己的问题
cache
只有在对缓存的RDD调用至少一个操作后才会生效。这意味着RDD的整个DAG至少需要从头计算一次
由于您只有一个操作,cache
不会执行任何操作。除了耗尽执行者的记忆。你几乎回答了自己的问题
cache
只有在对缓存的RDD调用至少一个操作后才会生效。这意味着RDD的整个DAG至少需要从头计算一次
由于您只有一个操作,cache
不会执行任何操作。除了消耗执行器内存之外。这是真的,但在某些情况下,单个操作可以多次使用同一RDD,例如使用自连接。根据评论,我不相信。你确定吗?我明天会检查。@puhlen我同意这是真的,但在某些情况下,单个操作可以多次使用同一RDD,例如使用自连接。根据评论,我不相信。你确定吗?我明天再查。@puhlen我同意