RDD-operationer i PySpark

Grunderna i Big Data med PySpark

Upendra Devisetty

Science Analyst, CyVerse

Översikt över PySpark-operationer

  • Transformationer skapar nya RDD:er
  • Åtgärder utför beräkningar på RDD:erna
Grunderna i Big Data med PySpark

RDD-transformationer

  • Transformationer använder lat evaluering

  • Grundläggande RDD-transformationer

    • map(), filter(), flatMap() och union()
Grunderna i Big Data med PySpark

Transformationen map()

  • Transformationen map() applicerar en funktion på alla element i RDD:n

map

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

Transformationen filter()

  • Transformationen filter() returnerar en ny RDD med endast de element som uppfyller villkoret

filter

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

Transformationen flatMap()

  • Transformationen flatMap() returnerar flera värden för varje element i den ursprungliga RDD:n

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

Transformationen 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)
Grunderna i Big Data med PySpark

RDD-åtgärder

  • Åtgärder returnerar ett värde efter att ha utfört en beräkning på RDD:n

  • Grundläggande RDD-åtgärder

    • collect()

    • take(N)

    • first()

    • count()

Grunderna i Big Data med PySpark

Åtgärderna collect() och take()

  • collect() returnerar alla element i datamängden som en array

  • take(N) returnerar en array med de första N elementen i datamängden

RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
Grunderna i Big Data med PySpark

Åtgärderna first() och count()

  • first() skriver ut det första elementet i RDD:n
RDD_map.first()
[1]
  • count() returnerar antalet element i RDD:n
RDD_flatmap.count()
5
Grunderna i Big Data med PySpark

Nu kör vi en övning!

Grunderna i Big Data med PySpark

Preparing Video For Download...