Altre azioni

Fondamenti di Big Data con PySpark

Upendra Devisetty

Science Analyst, CyVerse

Azione reduce()

  • L'azione reduce(func) si usa per aggregare gli elementi di un RDD normale

  • La funzione deve essere commutativa (cambiare l'ordine degli operandi non cambia il risultato) e associativa

  • Un esempio di azione reduce() in PySpark

x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
Fondamenti di Big Data con PySpark

Azione saveAsTextFile()

  • L'azione saveAsTextFile() salva un RDD in un file di testo dentro una directory, con ogni partizione come file separato
RDD.saveAsTextFile("tempFile")
  • Il metodo coalesce() può essere usato per salvare l'RDD in un singolo file di testo
RDD.coalesce(1).saveAsTextFile("tempFile")
Fondamenti di Big Data con PySpark

Azioni sui pair RDD

  • Azioni RDD disponibili per i pair RDD in PySpark

  • Le azioni sui pair RDD sfruttano i dati chiave-valore

  • Alcuni esempi di azioni per pair RDD

    • countByKey()

    • collectAsMap()

Fondamenti di Big Data con PySpark

Azione countByKey()

  • countByKey() è disponibile solo per il tipo (K, V)

  • L'azione countByKey() conta il numero di elementi per ciascuna chiave

  • Esempio di countByKey() su una semplice lista

rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
  print(kee, val)
('a', 2)
('b', 1)
Fondamenti di Big Data con PySpark

Azione collectAsMap()

  • collectAsMap() restituisce le coppie chiave-valore dell'RDD come dizionario

  • Esempio di collectAsMap() su una semplice tupla

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Fondamenti di Big Data con PySpark

Esercitiamoci!

Fondamenti di Big Data con PySpark

Preparing Video For Download...