ReduceByKey en Collect
Een van de meest gebruikte transformaties voor pair RDD's is reduceByKey(). Deze werkt op key-value-paren (k, v) en voegt de waarden per sleutel samen. In deze oefening maak je eerst een pair RDD van een lijst met tuples, combineer je daarna de waarden met dezelfde sleutel en print je tot slot het resultaat.
Vergeet niet: je hebt al een SparkContext sc beschikbaar in je workspace.
Deze oefening maakt deel uit van de cursus
Big Data Fundamentals met PySpark
Oefeninstructies
- Maak een pair RDD
Rddmet de tuples(1,2),(3,4),(3,6),(4,5). - Transformeer
RddmetreduceByKey()naar een pair RDDRdd_Reduceddoor de waarden met dezelfde sleutel op te tellen. - Verzamel de inhoud van de pair RDD
Rdd_Reduceden itereer om de output te printen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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]))