apache-spark - 在spark中,如何快速估计数据帧中的元素数量

标签 apache-spark approximation

在 spark 中,是否有一种快速方法可以获取 Dataset 中元素数量的近似计数?也就是说,比 Dataset.count() 快做。

也许我们可以从 DataSet 的分区数量中计算出这些信息,我们可以吗?

最佳答案

您可以尝试使用 countApprox在 RDD API 上,虽然这也启动了一个 Spark 作业,但它应该更快,因为它只是为您提供您想要花费的给定时间(毫秒)和置信区间(即真实值的概率)的真实计数的估计在该范围内):

用法示例:

val cntInterval = df.rdd.countApprox(timeout = 1000L,confidence = 0.90)
val (lowCnt,highCnt) = (cntInterval.initialValue.low, cntInterval.initialValue.high)

你必须玩一下参数timeoutconfidence .超时越高,估计的计数就越准确。

关于apache-spark - 在spark中,如何快速估计数据帧中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44273870/

相关文章:

algorithm - 分区优化版本的近似算法?

algorithm - 最多 3 种颜色算法

apache-spark - 请求之间 "cache"Spark 数据集的最佳方法是什么?

java - Spark join/groupby 数据集需要很多时间

java - 如何在spark RDD(JavaRDD)中获取记录的文件名

python - 将函数应用于 Spark DataFrame 中的所有单元格

cassandra - Spark : How to join RDDs by time range

math - 跟踪移动值的平方根

algorithm - 大图中的 k 中心(道路网络)

matlab - 绘制勒让德多项式——用自己的方法得到不同的结果