Вступ до PySpark RDD

Основи Big Data з PySpark

Upendra Devisetty

Science Analyst, CyVerse

Що таке RDD?

  • RDD = Resilient Distributed Datasets

rdd

Основи Big Data з PySpark

Розкладаємо RDD

  • Resilient Distributed Datasets

    • Resilient: здатність витримувати збої

    • Distributed: розподілені між кількома машинами

    • Datasets: колекція розбитих на частини даних, напр., масиви, таблиці, кортежі тощо

Основи Big Data з PySpark

Створення RDD. Як це зробити?

  • Паралелізація наявної колекції об'єктів

  • Зовнішні набори даних:

    • файли в HDFS

    • об'єкти в Amazon S3 bucket

    • рядки у текстовому файлі

  • З наявних RDD

Основи Big Data з PySpark

Паралелізована колекція (parallelizing)

  • parallelize() для створення RDD зі списків Python
numRDD = sc.parallelize([1,2,3,4])
helloRDD = sc.parallelize("Hello world")
type(helloRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Основи Big Data з PySpark

Із зовнішніх наборів даних

  • textFile() для створення RDD із зовнішніх наборів даних
fileRDD = sc.textFile("README.md")
type(fileRDD)
<class 'pyspark.rdd.PipelinedRDD'>
Основи Big Data з PySpark

Розуміння розбиття на розділи в PySpark

  • Розділ — це логічний поділ великого розподіленого набору даних

  • метод parallelize()

numRDD = sc.parallelize(range(10), minPartitions = 6)
  • метод textFile()
fileRDD = sc.textFile("README.md", minPartitions = 6)
  • Кількість розділів в RDD визначається методом getNumPartitions()
Основи Big Data з PySpark

Давайте потренуємось!

Основи Big Data з PySpark

Preparing Video For Download...