我有一个RDD groupResultMap
,并在下面编写代码。
if (groupResultMap.isEmpty) Map[String,Any]()
else groupResultMap.mapPartitions ( //do somthing// ).collectAsMap
在代码中,如果RDD不为空,它将被评估两次。
你们认为如果在RDD不为空的情况下使用groupResultMap.cache()
来避免多余的评估,性能会更好吗?
isEmpty()
对RDD的评估是否与collectAsMap()
相同?
还是isEmpty()
仅评估需要采取措施的部分?
您知道,仅对RDD的一行进行评估就足以计算isEmpty()
谢谢。