Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 我们需要为单个操作调用缓存吗?_Scala_Apache Spark - Fatal编程技术网

Scala 我们需要为单个操作调用缓存吗?

Scala 我们需要为单个操作调用缓存吗?,scala,apache-spark,Scala,Apache Spark,例如,我有一个spark会话,这个会话只包含一个动作和很多转换。在任务执行期间,分区不会失败。那么,在这种情况下,缓存是否不必要?因为缓存用于在操作之间共享rdd。否,在您的情况下不需要调用cache()。否,在您的情况下不需要调用cache()。您基本上回答了自己的问题 cache只有在对缓存的RDD调用至少一个操作后才会生效。这意味着RDD的整个DAG至少需要从头计算一次 由于您只有一个操作,cache不会执行任何操作。除了耗尽执行者的记忆。你几乎回答了自己的问题 cache只有在对缓存的R

例如,我有一个spark会话,这个会话只包含一个动作和很多转换。在任务执行期间,分区不会失败。那么,在这种情况下,
缓存是否不必要?因为缓存用于在操作之间共享rdd。

否,在您的情况下不需要调用
cache()

否,在您的情况下不需要调用
cache()

您基本上回答了自己的问题

cache
只有在对缓存的RDD调用至少一个操作后才会生效。这意味着RDD的整个DAG至少需要从头计算一次


由于您只有一个操作,
cache
不会执行任何操作。除了耗尽执行者的记忆。

你几乎回答了自己的问题

cache
只有在对缓存的RDD调用至少一个操作后才会生效。这意味着RDD的整个DAG至少需要从头计算一次


由于您只有一个操作,
cache
不会执行任何操作。除了消耗执行器内存之外。

这是真的,但在某些情况下,单个操作可以多次使用同一RDD,例如使用自连接。根据评论,我不相信。你确定吗?我明天会检查。@puhlen我同意这是真的,但在某些情况下,单个操作可以多次使用同一RDD,例如使用自连接。根据评论,我不相信。你确定吗?我明天再查。@puhlen我同意