Добавить в корзинуПозвонить
Найти в Дзене
ЦифроПроф

Spark и RDD

Познакомимся с библиотекой Spark и её ключевым типом данных — отказоустойчивым распределённым набором данных (англ. Resilient Distributed Dataset, RDD). Apache Spark — фреймворк для распределённых вычислений с открытым исходным кодом. Это разработка компании Apache Software Foundation. Spark позволяет распределять и обрабатывать данные на нескольких компьютерах одновременно. Изначально был написан на языке программирования Scala. Для работы в Python выпустили библиотеку PySpark (англ. «искра для Python»). Отказоустойчивые распределённые наборы данных — тип структуры данных, которые можно распределить между несколькими узлами в кластере. RDD — основной инструмент для преобразования данных и часть датафреймов. Для вызова из библиотеки PySpark импортируем объект SparkContext (англ. «контекст для Spark»). Он отвечает за операции с кластером в Spark. Инициализируем объект SparkContext и передадим ему настройки. Это могут быть URL-адрес мастер-узла и название приложения. Вызовом функции sc.p
Фото из открытых источников
Фото из открытых источников

Познакомимся с библиотекой Spark и её ключевым типом данных — отказоустойчивым распределённым набором данных (англ. Resilient Distributed Dataset, RDD).

Apache Spark — фреймворк для распределённых вычислений с открытым исходным кодом. Это разработка компании Apache Software Foundation. Spark позволяет распределять и обрабатывать данные на нескольких компьютерах одновременно. Изначально был написан на языке программирования Scala. Для работы в Python выпустили библиотеку PySpark (англ. «искра для Python»).

Отказоустойчивые распределённые наборы данных — тип структуры данных, которые можно распределить между несколькими узлами в кластере. RDD — основной инструмент для преобразования данных и часть датафреймов.

Для вызова из библиотеки PySpark импортируем объект SparkContext (англ. «контекст для Spark»). Он отвечает за операции с кластером в Spark.

Инициализируем объект SparkContext и передадим ему настройки. Это могут быть URL-адрес мастер-узла и название приложения. Вызовом функции sc.parallelize() (англ. «параллелизовать») можно перевести список в RDD.

Задача

Инициализируйте объект SparkContext. Укажите параметр appName равный 'appName'. Создайте переменную weather_entry (англ. «запись о погоде»), в которой сохраните RDD с такими элементами:

  • дата заказа — 2009-01-01;
  • самая низкая температура воздуха в этот день (°C) — 15.1;
  • самая высокая температура воздуха в этот день (°C) — 26.1.

Выведите на экран содержимое RDD. Для этого вызовите метод take() (англ. «взять»). Посмотрите в документации, как он работает.

from pyspark import SparkContext

sc = SparkContext(appName='appName')

weather_entry = sc.parallelize(['2009-01-01', 15.1, 26.1])

print(weather_entry.take(3))