Introduktion till PySpark RDD

Grunderna i Big Data med PySpark

Upendra Devisetty

Science Analyst, CyVerse

Vad är ett RDD?

  • RDD = Resilient Distributed Datasets

rdd

Grunderna i Big Data med PySpark

RDD:er uppdelade

  • Resilient Distributed Datasets

    • Resilient: Klarar av fel och avbrott

    • Distributed: Spänner över flera maskiner

    • Datasets: Samling partitionerad data, t.ex. arrayer, tabeller, tupler

Grunderna i Big Data med PySpark

Skapa RDD:er – hur gör man?

  • Parallellisera en befintlig samling objekt

  • Externa datamängder:

    • Filer i HDFS

    • Objekt i Amazon S3-bucket

    • Rader i en textfil

  • Från befintliga RDD:er

Grunderna i Big Data med PySpark

Parallelliserad samling

  • parallelize() för att skapa RDD:er från Python-listor
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Grunderna i Big Data med PySpark

Från externa datamängder

  • textFile() för att skapa RDD:er från externa datamängder
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Grunderna i Big Data med PySpark

Partitionering i PySpark

  • En partition är en logisk uppdelning av en stor distribuerad datamängd

  • Metoden parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Metoden textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Antalet partitioner i ett RDD kan hämtas med metoden getNumPartitions()
Grunderna i Big Data med PySpark

Nu kör vi en övning!

Grunderna i Big Data med PySpark

Preparing Video For Download...