Введение в RDD PySpark

Основы 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

    • Строки текстового файла

  • Из существующих RDD

Основы Big Data с PySpark

Параллельная коллекция (параллелизация)

  • 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...