Big Data Fundamentals met PySpark
Upendra Devisetty
Science Analyst, CyVerse
De actie reduce(func) wordt gebruikt om elementen van een gewone RDD te aggregeren
De functie moet commutatief (volgorde van operand(en) maakt niet uit) en associatief zijn
Voorbeeld van de actie reduce() in PySpark
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() slaat een RDD op als tekstbestanden in een map, met elke partitie als apart bestandRDD.saveAsTextFile("tempFile")
coalesce() kun je een RDD als één tekstbestand opslaanRDD.coalesce(1).saveAsTextFile("tempFile")
RDD-acties voor PySpark pair RDD’s
Pair RDD-acties benutten key-value-data
Voorbeelden van pair RDD-acties
countByKey()
collectAsMap()
countByKey() is alleen beschikbaar voor type (K, V)
De actie countByKey() telt het aantal elementen per key
Voorbeeld van countByKey() op een eenvoudige lijst
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() geeft de key-value-paren in de RDD terug als een dictionary
Voorbeeld van collectAsMap() op een eenvoudige tuple
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Big Data Fundamentals met PySpark