【发布时间】:2015-10-18 04:25:56
【问题描述】:
我将 Pyspark 与 Elasticsearch 结合使用。我注意到,当您创建 RDD 时,它不会在任何收集、计数或任何其他“最终”操作之前执行。
当我将转换后的 RDD 的结果用于其他事情时,是否可以执行和缓存转换后的 RDD。
【问题讨论】:
-
Spark 中的所有转换都是惰性的,因为它们不会立即计算结果。相反,他们只记得应用于某些基础数据集(例如文件)的转换。仅当操作需要将结果返回给驱动程序时才计算转换。这种设计使 Spark 能够更高效地运行——例如,我们可以意识到通过 map 创建的数据集将在 reduce 中使用,并且只将 reduce 的结果返回给驱动程序,而不是更大的映射数据集。没有其他办法。
-
如果需要,您可以在缓存后执行计数,但我看不出这样做的目的。
标签: elasticsearch apache-spark pyspark