gpt4 book ai didi

python - PySpark 在 RDD 上运行多个函数

转载 作者:可可西里 更新时间:2023-11-01 15:05:41 26 4
gpt4 key购买 nike

你好,我有示例代码:

for column in position:
myData = dataSplit.map(lambda arr: (arr[column]))\
.map(lambda line: line.split(','))\
.map(lambda fields: ("Column", fields[0]))\
.map(lambda (column, value) : value)\
.filter(lambda line : filterWithAccum(line))\
.map(lambda (value) : float(value))\
.persist(StorageLevel.MEMORY_AND_DISK)
results.append(myData.sum())
results.append(myData.stats())
results.append(myData.variance())
results.append(myData.sampleStdev())
results.append(myData.sampleVariance())

有没有一种方法可以在一个 passultiple 函数中运行,而不是每个 1 个函数运行 5 次 pass?坚持节省了很多时间,但我觉得必须有更好的方法来浓缩这些。我最初有 .min() .max() .mean() 但是 .stats() 为你做了那些,所以已经浓缩了一些。

最佳答案

我不明白你的问题,但是 .stats() 方法返回的 StatCounter 对象已经有 sum,方差sampleStddevsampleVariance 字段。所以你可以这样做

statCounter = myData.stats()
results.append(statCounter.sum())
results.append(statCounter.min())
results.append(statCounter.variance())
results.append(statCounter.sampleStdev())
results.append(statCounter.sampleVariance())

关于python - PySpark 在 RDD 上运行多个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28967759/

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