为了减少收集行所花费的时间count,正在调用它.它有以下签名:DataFrameRDD.countApproximate()
def countApprox(
timeout: Long,
confidence: Double = 0.95): PartialResult[BoundedDouble] = withScope {
Run Code Online (Sandbox Code Playgroud)
我试图将输出计算限制为60秒.另请注意:精度要求非常低0.10:
val waitSecs = 60
val cnt = inputDf.rdd.countApprox(waitSecs * 1000, 0.10).getFinalValue.mean
Run Code Online (Sandbox Code Playgroud)
但实际时间是...... 17分钟?
那个时间几乎与首先生成数据所需的时间(19分钟)相同!
这样的话-什么是使用这个API的:有什么办法让它真正保存的一些有意义的部分确切时间如何计算?
TL; DR(参见接受的答案):使用initialValue而不是getFinalValue