Fundamentele Big Data cu PySpark
Upendra Devisetty
Science Analyst, CyVerse
Acțiunea reduce(func) este utilizată pentru agregarea elementelor unui RDD obișnuit
Funcția trebuie să fie comutativă (ordinea operanzilor nu afectează rezultatul) și asociativă
Exemplu de acțiune reduce() în PySpark
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() salvează un RDD într-un fișier text, fiecare partiție ca fișier separatRDD.saveAsTextFile("tempFile")
coalesce() poate fi utilizată pentru a salva un RDD ca un singur fișier textRDD.coalesce(1).saveAsTextFile("tempFile")
Acțiuni RDD disponibile pentru RDD-urile pereche din PySpark
Acțiunile pe RDD-uri pereche valorifică datele cheie-valoare
Exemple de acțiuni pe RDD-uri pereche
countByKey()
collectAsMap()
countByKey() este disponibilă doar pentru tipul (K, V)
Acțiunea countByKey() numără elementele pentru fiecare cheie
Exemplu de countByKey() pe o listă simplă
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() returnează perechile cheie-valoare din RDD ca un dicționar
Exemplu de collectAsMap() pe un tuplu simplu
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Fundamentele Big Data cu PySpark