您好我有示例代码:
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()会为你做那些,因此已经缩减了一些。
答案 0 :(得分:3)
我没有收到您的问题,但StatCounter
方法返回的.stats()
对象已经有sum
,variance
,sampleStddev
和{{ 1}}字段。所以你可以做到
sampleVariance