Operații RDD în PySpark

Fundamentele Big Data cu PySpark

Upendra Devisetty

Science Analyst, CyVerse

Prezentare generală a operațiilor PySpark

  • Transformările creează RDD-uri noi
  • Acțiunile efectuează calcule pe RDD-uri
Fundamentele Big Data cu PySpark

Transformări RDD

  • Transformările utilizează evaluarea leneșă

  • Transformări RDD de bază

    • map(), filter(), flatMap() și union()
Fundamentele Big Data cu PySpark

Transformarea map()

  • Transformarea map() aplică o funcție tuturor elementelor din RDD

map

RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
Fundamentele Big Data cu PySpark

Transformarea filter()

  • Transformarea filter() returnează un nou RDD doar cu elementele care îndeplinesc condiția

filter

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
Fundamentele Big Data cu PySpark

Transformarea flatMap()

  • Transformarea flatMap() returnează mai multe valori pentru fiecare element din RDD-ul original

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))
Fundamentele Big Data cu PySpark

Transformarea union()

inputRDD = sc.textFile("logs.txt")
errorRDD = inputRDD.filter(lambda x: "error" in x.split())
warningsRDD = inputRDD.filter(lambda x: "warnings" in x.split())
combinedRDD = errorRDD.union(warningsRDD)
Fundamentele Big Data cu PySpark

Acțiuni RDD

  • Sunt operații care returnează o valoare după efectuarea unui calcul pe RDD

  • Acțiuni RDD de bază

    • collect()

    • take(N)

    • first()

    • count()

Fundamentele Big Data cu PySpark

Acțiunile collect() și take()

  • collect() returnează toate elementele setului de date ca un array

  • take(N) returnează un array cu primele N elemente ale setului de date

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Fundamentele Big Data cu PySpark

Acțiunile first() și count()

  • first() afișează primul element al RDD
RDD_map.first()
[1]
  • count() returnează numărul de elemente din RDD
RDD_flatmap.count()
5
Fundamentele Big Data cu PySpark

Să exersăm operațiile RDD

Fundamentele Big Data cu PySpark

Preparing Video For Download...