pyspark計算最大值 最小值 平均值

2022-07-06 22:54:18 字數 944 閱讀 3555

需求:使用pyspark計算相同key的最大值、最小值、平均值

說明: 最大值和最小值好計算,直接reducebykey後使用python內建的max、min方法

平均值計算提供兩種計算方法,直接先上**和執行結果,後面有**記錄

# 最大值

rdd2 = rdd1.reducebykey(max)

# 最小值

rdd3 = rdd1.reducebykey(min)

# 平均值方法1

rdd4 = rdd1.groupbykey().mapvalues(list).map(lambda x: (x[0], sum(x[1])/len(x[1])))

# 平均值方法2

rdd5 = rdd1.combinebykey(lambda x: (x, 1),

lambda x, y: (x[0]+y, x[1]+1),

lambda x, y: (x[0]+y[0], x[1]+y[1])).map(lambda x: (x[0], x[1][0]/x[1][1]))

print(rdd2.collect())

print(rdd3.collect())

print(rdd4.collect())

print(rdd5.collect())

if __name__ == '__main__':

main()

最大值 最小值

求最大最小的時候有點小技巧,就是我們兩個兩個的比較,把大個跟當前最大比較,小的跟當前最小的比較,這樣就會節約一點比較時間,有原來的2 n到3 n 2。include include 得到最大最小值 int getmaxmin int ndata,int nlen,int pnmax,int pnmi...

int float double 最大值,最小值

中沒有double的最大最小值。如果輸出的比如 100lf輸出2.23432432,沒有達到100位,則最後2後面不一定都是0。原文見view plaincopy to clipboardprint?coder acboy date 2010 3 1 include include using na...

最大值最小值問題

看了不是很懂,先把別人的 放著,日後在研究。程式8 3 5.cpp 定義控制台應用程式的入口點。include stdafx.h 目標學會用猜數字 二分 的方法,換個角度來解決問題 include include includeconst int maxn 100000 int a maxn n,m...