RDD

курсы Spark, обучение Apache Spark, что такое RDD Spark

RDD (Resilient Distributed Dataset) — это простая, неизменяемая, распределенная коллекция объектов во фреймворке Apache Spark. RDD представляет собой распределенный набор данных, который делится на множество частей, обрабатывающихся различными узлами в кластере. Наборы РДД могут содержать объекты с любыми типами данных на языках Python, JAVA или Scala [1].

Как устроен RDD: свойства и структура

RDD – это разновидность датасета (простого набора данных), который разделен на множество машин, работающих в кластере.

курсы Spark, обучение Apache Spark, что такое RDD Spark, курс основы Spark
Структура RDD

 

RDD имеет следующие свойства:

  1. Неизменяемость и секционирование – РДД состоит из набора записей, которые делятся на разделы. Раздел — это единица параллелизма в РДД. Каждый раздел является логическим подразделением данных, которое является неизменяемым (immutable) и хранится на отдельном узле в кластере.
  2. Применение общих операций (coarse-grained operations), которые способны манипулировать всеми данными одновременно (например, фильтр или группировка).
  3. Отказоустойчивость: все преобразования над наборами РДД ведутся в распределенной среде с поддержкой репликации (копированием данных между узлами), и каждое преобразование регистрируется каждым отдельным узлом в кластере. Следовательно, при выходе из строя одного узла, данные можно будет восстановить с помощью любого другого рабочего узла.
  4. Ленивые вычисления: Apache Spark проводит необходимые преобразования над РДД только один раз в момент их создания. Это значительно сокращает общее время выполнения всех операций и ускоряет работу над данными.
  5. Сохраняемость: пользователи могут выбирать удобный для себя формат хранения РДД (например, в памяти или на диске в файле).

RDD можно создавать вручную, а можно загружать из внешних источников. Источниками хранения РДД могут служить следующие источники:

  • текстовый файл;
  • CSV-файл;
  • файл со структурой JSON-документа;
  • база данных (через драйвер JDBC) [1].

 

Как появился RDD: краткая история Apache Spark

Работа над структурой RDD началась в 2009 году. Это было связано с идеей проекта для распределенной работы с данными – Apache Spark. Таким образом, наборы РДД стали неотъемлемой частью Spark, автором которого является румынско-канадский ученый в области информатики Матей Захария.

В 2010 году проект был опубликован под лицензией BSD (Berkeley Software Distribution), а уже в 2013 году передан фонду Apache и переведен на лицензию Apache 2.0. В 2014 году был принят в число проектов верхнего уровня Apache [2].

Основными достоинствами RDD считают отказоустойчивость и ленивые вычисления, благодаря которым возрастает скорость работы с данными, и уменьшается риск потери данных при выходе из строя одного из составляющих кластерного оборудования.

Записаться на курс

Смотреть раcписание

 

Источники

  1. https://habr.com/ru/post/251507/
  2. https://www.oreilly.com/library/view/learning-spark/9781449359034/ch03.html

 

 

 

Поиск по сайту