Einführung in PySpark RDD

Grundlagen von Big Data mit PySpark

Upendra Devisetty

Science Analyst, CyVerse

Was ist ein RDD?

  • RDD = Resilient Distributed Datasets

rdd

Grundlagen von Big Data mit PySpark

RDDs zerlegen

  • Resilient Distributed Datasets

    • Resilient: Ausfalltolerant

    • Distributed: Über mehrere Maschinen verteilt

    • Datasets: Sammlung partitionierter Daten, z. B. Arrays, Tabellen, Tupel usw.

Grundlagen von Big Data mit PySpark

RDDs erstellen. Wie?

  • Parallelisieren einer vorhandenen Objektsammlung

  • Externe Datasets:

    • Dateien in HDFS

    • Objekte in einem Amazon-S3-Bucket

    • Zeilen in einer Textdatei

  • Aus bestehenden RDDs

Grundlagen von Big Data mit PySpark

Parallelisierte Sammlung (parallelisieren)

  • parallelize() zum Erstellen von RDDs aus Python-Listen
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Grundlagen von Big Data mit PySpark

Aus externen Datasets

  • textFile() zum Erstellen von RDDs aus externen Datasets
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Grundlagen von Big Data mit PySpark

Partitionierung in PySpark verstehen

  • Eine Partition ist eine logische Teilung eines großen verteilten Datasets

  • Methode parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Methode textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Die Anzahl der Partitionen eines RDDs erhältst du mit getNumPartitions()
Grundlagen von Big Data mit PySpark

Lass uns üben!

Grundlagen von Big Data mit PySpark

Preparing Video For Download...