提问者:小点点

Apache Spark我在这里坚持什么?


在这行中,哪个RDD被持久化?dropResultsN还是dataSetN?

dropResultsN = dataSetN.map(s -> standin.call(s)).persist(StorageLevel.MEMORY_ONLY());

问题来自Apache Spark对JavaRDD上每个操作的计时,我仍然在寻找如何最好地计时RDD创建的核心问题的好答案。


共2个答案

匿名用户

dropResultsN是持久化的RDD(这是通过将dataSetN映射到方法standin.call()产生的RDD)。

匿名用户

我在O'Reilly的Learning Spark中找到了一个很好的例子:

这是Scala中的例子3-40。持久()(假设Java是相同的)

import org.apache.spark.storage.StorageLevel

val result = input.map( x => x*x )
result.persist(StorageLevel.[<your choice>][1])

学习火花注意:注意,我们在第一个操作之前的RDD调用了持续()。它自己的持续()调用不会强制求值。

我注意到,在这个例子中,持久化在下一行,我认为这比我问题中的代码要清楚得多。