ReduceBykey 與 Collect
reduceByKey() 是最常用的成對 RDD 轉換之一。它會作用在鍵值(k,v)配對上,將每個鍵的值合併。這題中,你會先從一個 tuple 清單建立成對 RDD,接著把相同鍵的值合併,最後列印結果。
請記得,你的工作環境中已經有可用的 SparkContext sc。
本練習屬於課程
使用 PySpark 的 Big Data 基礎
練習說明
- 建立名為
Rdd的成對 RDD,內容為 tuples(1,2)、(3,4)、(3,6)、(4,5)。 - 使用
reduceByKey()對Rdd進行轉換,將相同鍵的值相加,得到成對 RDDRdd_Reduced。 - 收集成對 RDD
Rdd_Reduced的內容,並以迭代方式印出輸出。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create PairRDD Rdd with key value pairs
Rdd = sc.parallelize([____])
# Apply reduceByKey() operation on Rdd
Rdd_Reduced = Rdd.reduceByKey(lambda x, y: ____)
# Iterate over the result and print the output
for num in Rdd_Reduced.____:
print("Key {} has {} Counts".format(____, num[1]))