我有這個輸出值串列的代碼:
ARDD.map(function_B) \
.filter(lambda x: x is not None) \
.take(6)
輸出:
['2','10','2','12','3','3']
如何更改代碼以獲取此輸出?
[2:2, 3:2, 10:1, 12:1]
uj5u.com熱心網友回復:
使用map和reduceByKeyRDD方法:
rdd = spark.sparkContext.parallelize(['2', '10', '2', '12', '3', '3'])
rdd1 = rdd.map(lambda x: (x, 1)) \
.reduceByKey(lambda a, b: a b) \
.map(lambda x: f"{x[0]}:{x[1]}")
print(rdd1.collect())
#['10:1', '12:1', '3:2', '2:2']
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/372258.html
下一篇:根據其他資料框的范圍創建資料框
