在 spark RDD 中应该使用哪种方法来处理这种情况。解释?

Posted

技术标签:

【中文标题】在 spark RDD 中应该使用哪种方法来处理这种情况。解释?【英文标题】:Which method shall be used to handle such situation in spark RDD. Explain? 【发布时间】:2020-12-22 14:52:54 【问题描述】:

在从另一个 RDD rdd0 进行大量计算之后,您正在创建一个 RDD rdd1。然后我们需要经常使用rdd1。 rdd1 的大小非常小,我们在每个容器上都有足够的 RAM 可用。在 spark RDD 中应该使用哪种方法来处理这种情况。解释一下?

【问题讨论】:

【参考方案1】:

使用cache将计算结果缓存在内存中,这样就不需要重新计算了:

rdd1 = # operations on rdd0
rdd1.cache()

【讨论】:

以上是关于在 spark RDD 中应该使用哪种方法来处理这种情况。解释?的主要内容,如果未能解决你的问题,请参考以下文章

spark中要想保留流的状态怎么处理用哪种方式缓存

Spark核心编程---创建RDD

Learning Spark中文版--第三章--RDD编程

Spark中的迭代RDD / Dataframe处理

Spark cache vs broadcast

Spark:如何指定持有 RDD 的 executor 数量?