Úvod do PySpark RDD

Big Data Fundamentals with PySpark

Upendra Devisetty

Science Analyst, CyVerse

Co je RDD?

  • RDD = Resilient Distributed Datasets

rdd

Big Data Fundamentals with PySpark

Rozbor RDD

  • Resilient Distributed Datasets

    • Resilient: Odolnost vůči selhání

    • Distributed: Rozložení napříč více stroji

    • Datasets: Kolekce rozdělených dat, např. pole, tabulky, n-tice apod.

Big Data Fundamentals with PySpark

Vytváření RDD – jak na to?

  • Paralelizace existující kolekce objektů

  • Externí datové sady:

    • Soubory v HDFS

    • Objekty v bucketu Amazon S3

    • Řádky textového souboru

  • Z existujících RDD

Big Data Fundamentals with PySpark

Paralelizovaná kolekce

  • parallelize() pro vytváření RDD z pythonových seznamů
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Big Data Fundamentals with PySpark

Z externích datových sad

  • textFile() pro vytváření RDD z externích datových sad
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Big Data Fundamentals with PySpark

Dělení dat (partitioning) v PySparku

  • Partition je logické rozdělení velké distribuované datové sady

  • Metoda parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Metoda textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Počet partition v RDD lze zjistit metodou getNumPartitions()
Big Data Fundamentals with PySpark

Pojďme procvičovat!

Big Data Fundamentals with PySpark

Preparing Video For Download...