Introducere în PySpark RDD

Fundamentele Big Data cu PySpark

Upendra Devisetty

Science Analyst, CyVerse

Ce este un RDD?

  • RDD = Resilient Distributed Datasets

rdd

Fundamentele Big Data cu PySpark

Descompunerea RDD-urilor

  • Resilient Distributed Datasets

    • Resilient: Capacitatea de a rezista la erori

    • Distributed: Distribuit pe mai multe mașini

    • Datasets: Colecție de date parționate, ex.: tablouri, tabele, tuple etc.

Fundamentele Big Data cu PySpark

Crearea RDD-urilor. Cum se face?

  • Paralelizarea unei colecții existente de obiecte

  • Seturi de date externe:

    • Fișiere în HDFS

    • Obiecte în bucket Amazon S3

    • Linii dintr-un fișier text

  • Din RDD-uri existente

Fundamentele Big Data cu PySpark

Colecție paralelizată (paralelizare)

  • parallelize() pentru crearea RDD-urilor din liste Python
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Fundamentele Big Data cu PySpark

Din seturi de date externe

  • textFile() pentru crearea RDD-urilor din seturi de date externe
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Fundamentele Big Data cu PySpark

Partiționarea în PySpark

  • O partiție este o diviziune logică a unui set de date distribuit

  • Metoda parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • Metoda textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Numărul de partiții dintr-un RDD poate fi obținut cu metoda getNumPartitions()
Fundamentele Big Data cu PySpark

Să exersăm!

Fundamentele Big Data cu PySpark

Preparing Video For Download...