Fler åtgärder

Grunderna i Big Data med PySpark

Upendra Devisetty

Science Analyst, CyVerse

Åtgärden reduce()

  • Åtgärden reduce(func) används för att aggregera elementen i en vanlig RDD

  • Funktionen ska vara kommutativ (operandernas ordning påverkar inte resultatet) och associativ

  • Exempel på reduce()-åtgärden i PySpark

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

Åtgärden saveAsTextFile()

  • Åtgärden saveAsTextFile() sparar en RDD som en textfil i en katalog, där varje partition blir en separat fil
RDD.saveAsTextFile("tempFile")
  • Metoden coalesce() kan användas för att spara en RDD som en enda textfil
RDD.coalesce(1).saveAsTextFile("tempFile")
Grunderna i Big Data med PySpark

Åtgärder på par-RDD:er

  • RDD-åtgärder tillgängliga för PySpark-par-RDD:er

  • Par-RDD-åtgärder utnyttjar nyckel-värde-data

  • Några exempel på par-RDD-åtgärder

    • countByKey()

    • collectAsMap()

Grunderna i Big Data med PySpark

Åtgärden countByKey()

  • countByKey() är endast tillgänglig för typen (K, V)

  • Åtgärden countByKey() räknar antalet element per nyckel

  • Exempel på countByKey() på en enkel lista

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

Åtgärden collectAsMap()

  • collectAsMap() returnerar nyckel-värde-paren i en RDD som en ordlista

  • Exempel på collectAsMap() på en enkel tuppel

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
Grunderna i Big Data med PySpark

Nu kör vi en övning!

Grunderna i Big Data med PySpark

Preparing Video For Download...