Обзор компонентов Spark

Представьте, что у вас под рукой 1000 заданий и очень мало времени для их выполнения. Кто-то предлагает вам помощь, предоставляя ресурсы, которые могут взять некоторые задачи у вас из рук и выполнять их параллельно с вами, чтобы все задачи были выполнены вовремя. Этот кто-то для вас - Искра в вычислительном смысле. Apache Spark - это среда распределенных кластерных вычислений с открытым исходным кодом для больших данных, которая обеспечивает оптимизированный подход для выполнения аналитики больших наборов данных. Он работает в 100 раз быстрее, чем Hadoop, и предоставляет различные библиотеки для различных целей, таких как выполнение операций SQL, ML, потоковая передача, обработка графиков и т. Д. Ниже мы подробно рассмотрим различные компоненты spark.

Лучшие компоненты искры

В настоящее время у нас есть 6 компонентов в экосистеме Spark: Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​и SparkR. Давайте посмотрим, что делает каждый из этих компонентов.

1. Spark Core

Spark Core, как следует из названия, является основной единицей процесса Spark. Он заботится о планировании задач, устранении неисправностей, управлении памятью, операциях ввода-вывода и т. Д. Думайте об этом как о чем-то похожем на процессор на компьютере. Он поддерживает языки программирования, такие как Java, Scala, Python и R, и предоставляет API-интерфейсы для соответствующих языков, используя которые вы можете создать свою работу ETL или сделать аналитику. Все остальные компоненты Spark имеют свои собственные API, которые построены поверх Spark Core. Благодаря своим возможностям параллельной обработки и вычислениям в памяти Spark может справиться с любой нагрузкой.

Spark Core поставляется со специальной структурой данных, называемой RDD (Resilient Distributed Dataset), которая распределяет данные по всем узлам в кластере. СДР работают над ленивой оценочной парадигмой, где вычисления запоминаются и выполняются только тогда, когда это необходимо. Это помогает оптимизировать процесс, вычисляя только необходимые объекты.

2. Spark SQL

Если вы работали с базами данных, вы понимаете важность SQL. Разве это не было бы чрезвычайно обременительно, если бы тот же код SQL работал в N раз быстрее, даже на большом наборе данных? Spark SQL помогает вам манипулировать данными в Spark с помощью SQL. Он поддерживает соединения JDBC и ODBC, которые устанавливают связь между объектами Java и существующими базами данных, хранилищами данных и инструментами бизнес-аналитики. Spark включает в себя то, что называется Dataframes, которые представляют собой структурированный сбор данных в виде столбцов и строк.

Spark позволяет работать с этими данными с помощью SQL. Кадры данных эквивалентны реляционным таблицам и могут быть построены из любых внешних баз данных, структурированных файлов или уже существующих RDD. Фреймы данных имеют все функции RDD, такие как неизменяемые, эластичные, встроенные в память, но с дополнительной возможностью структурирования и простоты работы с ними. API Dataframe также доступен в Scala, Python, R и Java.

3. Spark Streaming

Потоковая передача данных - это метод обработки непрерывного потока данных в реальном времени. Это требует структуры, которая предлагает низкую задержку для анализа. Это обеспечивает Spark Streaming, а также высокопроизводительный, отказоустойчивый и масштабируемый API для обработки данных в режиме реального времени. Он абстрагируется в дискретизированном потоке (DStream), который представляет собой поток данных, разделенных на небольшие партии. DStream построен на RDD, поэтому Spark Streaming без проблем работает с другими искровыми компонентами. Некоторые из самых известных пользователей Spark.

Потоковая передача - это Netflix, Pinterest и Uber. Spark Streaming может быть интегрирован с Apache Kafka, который является платформой развязки и буферизации входных потоков. Kafka выступает в качестве центрального концентратора для потоков в реальном времени, которые обрабатываются с использованием алгоритмов в Spark Streaming.

4. Искра MLLib

Основная привлекательность Spark - масштабное вычисление, и эта функция является наиболее важным требованием для любого проекта машинного обучения. Spark MLLib - это компонент машинного обучения Spark, который содержит алгоритмы машинного обучения, такие как классификация, регрессия, кластеризация и совместная фильтрация. Он также предлагает место для извлечения признаков, уменьшения размерности, преобразования и т. Д.

Вы также можете сохранять свои модели и запускать их в больших наборах данных, не беспокоясь о проблемах с размером. Он также содержит утилиты для линейной алгебры, статистики и обработки данных. Благодаря обработке в Spark памяти, отказоустойчивости, масштабируемости и простоте программирования, с помощью этой библиотеки вы можете легко запускать итерационные алгоритмы ML.

5. GraphX

Graph Analytics в основном определяет отношения между объектами на графике, например, кратчайшее расстояние между двумя точками. Это помогает оптимизировать маршрут. Spark GraphX ​​API помогает в графе и параллельных вычислениях. Это упрощает графическую аналитику, делает ее более быстрой и надежной. Одним из основных и известных приложений графической аналитики является Google Maps.

Он определяет расстояние между двумя точками и предлагает оптимальный маршрут. Другим примером могут быть предложения друзей Facebook. GraphX ​​работает как с графиками, так и с вычислениями. Spark предлагает ряд графических алгоритмов, таких как ранжирование страниц, подключенные компоненты, распространение меток, SVD ++, сильно связанные компоненты и количество треугольников.

6. SparkR

R является наиболее широко используемым статистическим языком, который включает более 10 000 пакетов для различных целей. Он использовал API фреймов данных, что делает его удобным для работы, а также предоставляет мощные визуализации для ученых данных для тщательного анализа их данных. Однако R не поддерживает параллельную обработку и ограничен объемом памяти, доступной на одном компьютере. Это где SparkR входит в картину.

Spark разработал пакет, известный как SparkR, который решает проблему масштабируемости R. Он основан на распределенных фреймах данных, а также обеспечивает тот же синтаксис, что и механизм распределенной обработки R. Spark, и беспрецедентная интерактивность, пакеты и визуализация R объединяются, чтобы дать ученым данных то, что они хотят для своих анализов.

Вывод

Так как Spark является универсальной платформой, он находит себя в широком спектре приложений. Spark широко используется в большинстве приложений для работы с большими данными благодаря своей производительности и надежности. Все эти компоненты Spark обновляются новыми функциями в каждом новом выпуске и облегчают нашу жизнь.

Рекомендуемые статьи

Это руководство по компонентам Spark. Здесь мы обсудим обзор и топ 6 компонентов свечи с подробным объяснением. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Топ 5 важных альтернатив улья
  2. Talend Open Studio Компоненты / Инструменты
  3. 6 лучших компонентов IoT-экосистемы
  4. Что такое интеграция данных Talend с преимуществами?