Principes de Big Data avec PySpark
Upendra Devisetty
Science Analyst, CyVerse
L'action reduce(func) sert à agréger les éléments d'un RDD régulier
La fonction doit être commutative (l'ordre des opérandes ne change pas le résultat) et associative
Exemple d'action reduce() en PySpark
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() enregistre le RDD dans un fichier texte, dans un répertoire, avec chaque partition dans un fichier distinctRDD.saveAsTextFile("tempFile")
coalesce() peut servir à enregistrer le RDD dans un seul fichier texteRDD.coalesce(1).saveAsTextFile("tempFile")
Actions RDD offertes pour les pair RDDs PySpark
Les actions sur pair RDD exploitent les données clé-valeur
Exemples d'actions sur pair RDD
countByKey()
collectAsMap()
countByKey() est offert seulement pour le type (K, V)
L'action countByKey() compte le nombre d'éléments pour chaque clé
Exemple de countByKey() sur une simple liste
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() retourne les paires clé-valeur du RDD sous forme de dictionnaire
Exemple de collectAsMap() sur un simple tuple
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Principes de Big Data avec PySpark