ReduceBykey und Collect
Eine der beliebtesten paarweisen RDD-Transformationen ist reduceByKey()
. Sie arbeitet mit Schlüssel-Wert-Paaren (k,v) und führt die Werte für jeden Schlüssel zusammen. In dieser Übung erstellst du zuerst einen Paar-RDD aus einer Liste von Tupeln, dann kombinierst du die Werte mit demselben Schlüssel und schließlich gibst du das Ergebnis aus.
Zur Erinnerung: Es gibt bereits einen SparkContext namens sc
in deinem Arbeitsbereich.
Diese Übung ist Teil des Kurses
Grundlagen von Big Data mit PySpark
Anleitung zur Übung
- Erstelle einen Paar-RDD namens
Rdd
mit den Tupeln(1,2)
,(3,4)
,(3,6)
und(4,5)
. - Wandle
Rdd
mitreduceByKey()
in einen Paar-RDD namensRdd_Reduced
um, indem du die Werte mit demselben Schlüssel addierst. - Sammle die Inhalte vom Paar-RDD
Rdd_Reduced
und gib mithilfe einer Schleife das Ergebnis aus.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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]))