Principes fondamentaux des mégadonnées avec PySpark
Upendra Devisetty
Science Analyst, CyVerse
L’action reduce(func) agrège les éléments d’un RDD standard
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, chaque partition dans un fichier séparé du dossierRDD.saveAsTextFile("tempFile")
coalesce() permet d’enregistrer le RDD en un seul fichier texteRDD.coalesce(1).saveAsTextFile("tempFile")
Actions RDD disponibles pour les pair RDDs PySpark
Elles exploitent la structure clé–valeur
Exemples d’actions sur des pair RDDs
countByKey()
collectAsMap()
countByKey() n’est disponible que pour le type (K, V)
L’action countByKey() compte le nombre d’éléments par clé
Exemple de countByKey() sur une liste simple
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() renvoie les paires clé–valeur du RDD sous forme de dictionnaire
Exemple de collectAsMap() sur un tuple simple
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Principes fondamentaux des mégadonnées avec PySpark