Многие люди хотят узнать больше об Apache Spark. Это одна из самых популярных технологий, используемых сегодня для множества различных приложений. Apache Spark был впервые создан как альтернатива Hadoop MapReduce и предлагал примерно в 100 раз большую производительность. Вы можете узнать больше об Apache Spark, щелкнув эту статью: Что такое Apache Spark. По этой ссылке вы узнаете, кто использует Spark, почему он используется, что это такое и как вы можете воспользоваться этой невероятной и гибкой технологией.

Эта статья предоставит вам глоссарий терминов, которые вам необходимо освоить, чтобы понять Spark. Это первая из серии, и я надеюсь, вам она понравится.

  1. Apache Spark - платформа обработки данных с открытым исходным кодом, предназначенная для высокоскоростной обработки в памяти. Задуманный как альтернатива MapReduce. Spark может быть одноузловой или многоузловой.
  2. Устойчивый распределенный набор данных - также именуемый RDD. Это неизменный набор данных. Это означает, что его нельзя изменить со временем. RDD могут храниться на диске или в памяти кластера. Они отказоустойчивы. Изменения в RDD вносятся с помощью операций Transformation и Action.
  3. Раздел. Данные можно разделить на более мелкие логические блоки. Эти блоки называются перегородками.
  4. Диспетчер кластеров - внешняя служба, например Yarn, Apache Mesos или автономный кластер Spark. Менеджеры кластеров обеспечивают мониторинг, планирование и безопасность.
  5. Рабочий узел - также известен как подчиненный узел. Исполнители - это рабочие узлы, созданные в течение жизненного цикла приложения Spark. Выполните работу с данными в узле и отправьте отчет главному узлу.
  6. Приложение - пользовательская программа, построенная на кластере Spark. Он состоит из программы драйвера и исполнителей в кластере.
  7. Исполнитель - обычно существует на рабочем узле и реализует задачи. Эти задачи находятся в памяти или на диске. Задачи создаются Драйвером и отправляются Исполнителям. Когда исполнители завершают задачу, они отправляют результаты обратно драйверу.
  8. Программа драйвера - программа, работающая на главном узле. Он создает SparkContext. Они объявляют Преобразования и Действия в СДР. Это процесс, в котором выполняется функция Main (). Он преобразует процессы в задачи, которые затем запускаются на исполнителях.
  9. Преобразования - преобразования создают новые RDD на основе операций, выполняемых с существующими RDD. Есть два типа преобразований: узкие и широкие.
  10. Узкий Преобразования - все элементы, необходимые для вычисления раздела, находятся в единственном родительском разделе RDD.
  11. Широкий Преобразования - все элементы, необходимые для вычисления раздела, принадлежат многим разделам RDD.
  12. Действия. Действия - это операции, которые производят значения, не являющиеся RDD. Они запускают преобразования для возврата значений. Примеры действий включают: подсчет, сбор, агрегирование, минимум, максимум или первое.
  13. Ленивые оценки - преобразование не выполняется, пока не будет инициировано действием. Все преобразования в Spark выполняются лениво.
  14. DataFrame. Как и RDD, они представляют собой неизменяемые распределения данных. Но данные можно организовать в базе данных по именам, столбцам и таблицам. Фреймы данных могут быть построены из данных на основе плоских столбцов. Они предоставляют реляционные функции, такие как: фильтр, группировка и агрегирование. DataFrames можно использовать со Spark SQL.
  15. Наборы данных - типобезопасный объектно-ориентированный программный интерфейс. Как и фреймы данных, наборы данных используют механизмы оптимизации. Наборы данных - это строго типизированная неизменяемая коллекция объектов, отображаемых в реляционную схему.
  16. СДР Происхождение - СДР неизменяемы, то есть их нельзя изменить. Если вы помните, будущие СДР создаются из преобразований существующих СДР. Новый RDD содержит указатель на свой родительский RDD. Это происхождение хранится в графике. Это называется Lineage Graph и представляет собой логический план выполнения.
  17. Spark Модуль. Модули Spark - это возможности программирования, созданные как программный интерфейс для Spark. К ним относятся: Spark Streaming, Spark SQL-Datasets-Dataframes, MLlib и GraphX.
  18. Языки программирования Spark - языки программирования, которые можно использовать для написания программ Spark. Они включают PySpark, R, Scala и Java.
  19. MLlib. MLlib - это набор библиотек машинного обучения.
  20. Spark SQL - модуль Spark, поддерживающий структурированные данные для операций на языке структурированных запросов.
  21. Spark Streaming - обеспечивает масштабируемую, отказоустойчивую и высокопроизводительную потоковую обработку потоков данных в реальном времени. Данные могут быть получены из многих сервисов, таких как сокеты Kafka, Kinesis, Flume или TCP.