ReduceByKey och Collect
En av de mest använda transformationerna för par-RDD:er är reduceByKey(), som arbetar med nyckel-värde-par (k,v) och slår samman värdena för varje nyckel. I den här övningen skapar du först ett par-RDD från en lista med tupler, kombinerar sedan värden med samma nyckel och skriver slutligen ut resultatet.
Kom ihåg att du redan har ett SparkContext sc tillgängligt i din arbetsyta.
Den här övningen är en del av kursen
Grunderna i Big Data med PySpark
Övningsinstruktioner
- Skapa ett par-RDD med namnet
Rddmed tuplerna(1,2),(3,4),(3,6),(4,5). - Transformera
RddmedreduceByKey()till ett par-RDD som heterRdd_Reducedgenom att addera värden med samma nyckel. - Hämta innehållet i par-RDD:t
Rdd_Reducedoch iterera för att skriva ut utdata.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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]))