ReduceByKey e Collect
Una delle trasformazioni più usate sui pair RDD è reduceByKey(), che opera su coppie chiave-valore (k,v) e unisce i valori per ciascuna chiave. In questo esercizio creerai prima un pair RDD da una lista di tuple, poi combinerai i valori con la stessa chiave e infine stamperai il risultato.
Ricorda: hai già uno SparkContext sc disponibile nel tuo workspace.
Questo esercizio fa parte del corso
Fondamenti di Big Data con PySpark
Istruzioni dell'esercizio
- Crea un pair RDD chiamato
Rddcon le tuple(1,2),(3,4),(3,6),(4,5). - Trasforma
RddconreduceByKey()in un pair RDDRdd_Reducedsommando i valori con la stessa chiave. - Esegui la collect del contenuto del pair RDD
Rdd_Reducede itera per stampare l'output.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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]))