RDD-bewerkingen in PySpark

Big Data Fundamentals met PySpark

Upendra Devisetty

Science Analyst, CyVerse

Overzicht van PySpark-bewerkingen

  • Transformaties maken nieuwe RDD’s
  • Acties voeren berekeningen uit op RDD’s
Big Data Fundamentals met PySpark

RDD-transformaties

  • Transformaties volgen lazy evaluation

  • Basis-RDD-transformaties

    • map(), filter(), flatMap() en union()
Big Data Fundamentals met PySpark

map()-transformatie

  • De map()-transformatie past een functie toe op alle elementen in het RDD

map

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

filter()-transformatie

  • De filter-transformatie geeft een nieuw RDD terug met alleen elementen die aan de voorwaarde voldoen

filter

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

flatMap()-transformatie

  • De flatMap()-transformatie geeft meerdere waarden per element van het oorspronkelijke RDD

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

union()-transformatie

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)
Big Data Fundamentals met PySpark

RDD-acties

  • Operaties die een waarde teruggeven na berekening op het RDD

  • Basis-RDD-acties

    • collect()

    • take(N)

    • first()

    • count()

Big Data Fundamentals met PySpark

collect()- en take()-acties

  • collect() geeft alle elementen van de dataset terug als een array

  • take(N) geeft een array met de eerste N elementen van de dataset

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

first()- en count()-acties

  • first() geeft het eerste element van de RDD
RDD_map.first()
[1]
  • count() geeft het aantal elementen in de RDD
RDD_flatmap.count()
5
Big Data Fundamentals met PySpark

Oefenen met RDD-bewerkingen

Big Data Fundamentals met PySpark

Preparing Video For Download...