有人可以解释一下RDD countApprox()与count()之间的区别,如果可以的话,还可以回答最快的吗?这对我们有很大的帮助,我们的要求是count()非常慢,需要大约30分钟的**。 30分钟...

这是我们使用的方式,不确定是否是最佳使用方式

rdd.countApprox(timeout=800, confidence=0.5)

最佳答案

Count()-返回RDD中的元素数。
CountApprox-计数()的近似版本,即使不是所有任务都已完成,它也会在超时内返回可能不完整的结果。


countApprox(timeout: Long, confidence: Double)

默认值:置信度= 0.95

注意:根据spark源代码,对countApprox的支持标记为“实验性”。

如果timeout = 800,您应该会在不到1分钟的时间内看到一个近似计数。

您确定没有其他因素导致这种30分钟的减速吗?
共享您的代码/代码片段,以获取其他成员的更准确的输入。

08-28 05:06