Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Maak een pair RDD Rdd met de tuples (1,2),(3,4),(3,6),(4,5).
  • Transformeer Rdd met reduceByKey() naar een pair RDD Rdd_Reduced door de waarden met dezelfde sleutel op te tellen.
  • Verzamel de inhoud van de pair RDD Rdd_Reduced en 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]))
Code bewerken en uitvoeren