RDD操作,例如first(),head(),isEmpty()..,它们会评估整个RDD吗?或只是其中的一部分?

问题描述 投票:0回答:1

我有一个RDD,groupResultMap,并在下面编写代码。

if (groupResultMap.isEmpty) Map[String, Any]()
else  groupResultMap.mapPartitions ( //do somthing// ).collectAsMap

在代码中,如果RDD不为空,它将被评估两次。你们认为如果在RDD不为空的情况下使用groupResultMap.cache()以避免冗余评估,性能会更好吗?

[RD]的isEmpty()评估结果是否与collectAsMap()相同?还是isEmpty()仅评估需要采取措施的部分?您知道,仅对RDD的一行进行评估就足以计算isEmpty()的结果

谢谢。

我有一个RDD,groupResultMap,并在下面编写代码。 if(groupResultMap.isEmpty)Map [String,Any]()else groupResultMap.mapPartitions(// do somthing //).collectAsMap在代码中,RDD将...

scala apache-spark rdd lazy-evaluation
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.