gpt4 book ai didi

python - pyspark countApprox() 似乎与 count() 没有区别

转载 作者:行者123 更新时间:2023-12-05 06:31:47 25 4
gpt4 key购买 nike

我在使用 count() 时遇到了问题pyspark 的方法,这对我的程序来说太慢了。我发现了 countApprox(timeout,confidence)一个,但它并没有加快这个过程。

我做了一些研究发现我应该使用 rdd.countApprox.initialValue但它似乎不起作用,因为在 pyspark 中 countApprox 的结果是一个 int 而不是 PartialResult对象(我猜它在 scala 或 java 中是不同的)

有谁知道如何制作countApprox在 pyspark 工作?

我要比较的测试代码:

a = sc.parallelize(range(1000000),10)

import time
t = time.time()
print("there are ",a.count()," rows")
print(time.time()-t)

给出:

there are  1000000  rows
3.4864296913146973

但是

b = sc.parallelize(range(1000000),10)

import time
t = time.time()
print("there are ",b.countApprox(10,0.1)," rows")
print(time.time()-t)

给出:

 there are  1000000  rows
3.338970422744751

这几乎是同一时间执行...

最佳答案

countApprox 比计数更快,具有超时和置信度定义。我想您会看到大型数据集上的运行时差异。

关于python - pyspark countApprox() 似乎与 count() 没有区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51633822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com