Огляд іскрових компонентів

Уявіть, у вас під рукою 1000 завдань і дуже мало часу, щоб закінчити їх усі. Хтось пропонує вам допомогу, надаючи ресурси, які можуть зняти деякі завдання з вашої руки та виконувати їх паралельно з вами, щоб усі завдання були виконані вчасно. Це хтось Іскра для вас в обчислювальному сенсі. Apache Spark - це обчислювальна система з відкритим кодом та розподіленим кластерним обчисленням для Big Data і забезпечує оптимізований підхід для проведення аналітики на великих наборах даних. Він працює в 100 разів швидше, ніж Hadoop, і надає різні бібліотеки для різних цілей, таких як виконання SQL-операцій, ML, потокове передача, обробка графіків тощо. Нижче ми детально розглянемо різні компоненти іскри.

Основні компоненти іскри

Наразі в Spark Ecosystem є 6 компонентів, які є Spark Core, Spark SQL, Spark Streaming, Spark MLlib, Spark GraphX ​​та SparkR. Давайте подивимося, що робить кожен із цих компонентів.

1. Іскровий ядро

Spark Core - це, як випливає з назви, основна одиниця процесу Spark. Він піклується про планування завдань, відновлення несправностей, управління пам’яттю та операції вводу-виводу тощо. Подумайте про це як щось подібне до процесора з комп'ютером. Він підтримує мови програмування, такі як Java, Scala, Python та R, та надає API для відповідних мов, за допомогою яких можна скласти завдання ETL або робити аналітику. Усі інші компоненти Spark мають свої власні API, побудовані на основі Spark Core. Завдяки можливостям паралельної обробки та обчисленню в пам'яті Spark може працювати з будь-яким навантаженням.

Spark Core має спеціальний тип структури даних під назвою RDD (Resilient Distributed Dataset), який розподіляє дані по всіх вузлах кластеру. RDD працюють над парадигмою оцінювання Lazy, де обчислення запам'ятовуються та виконуються лише тоді, коли це необхідно. Це допомагає оптимізувати процес, лише обчисливши необхідні об’єкти.

2. Іскровий SQL

Якщо ви працювали з базами даних, ви розумієте важливість SQL. Хіба це не буде надзвичайно переважним, якщо той самий код SQL працює в N рази швидше навіть на більшому наборі даних? Spark SQL допомагає вам маніпулювати даними на Spark за допомогою SQL. Він підтримує з'єднання JDBC та ODBC, які встановлюють зв'язок між об'єктами Java та існуючими базами даних, сховищами даних та інструментами бізнес-аналітики. Іскра включає в себе те, що називається Dataframes, які структурують збір даних у вигляді стовпців і рядків.

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

3. Іскрова стрічка

Потік даних - це техніка, при якій обробляється безперервний потік даних у режимі реального часу. Він вимагає структури, яка пропонує низьку затримку для аналізу. Spark Streaming забезпечує це, а також високу пропускну здатність, стійкий до відмов та масштабований API для обробки даних у режимі реального часу. Він абстрагується на Discretized Stream (DStream), який представляє потік даних, розділених на невеликі партії. DStream побудований на RDD, завдяки чому Spark Streaming безперебійно працює з іншими компонентами іскри. Одні з найпомітніших користувачів Spark.

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

4. Іскровий MLLib

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

Ви також можете зберігати свої моделі та запускати їх на великих наборах даних, не турбуючись про проблеми розмірів. Він також містить утиліти для лінійної алгебри, статистики та обробки даних. Через обробку пам'яті Spark, толерантність до відмов, масштабованість та простоту програмування, за допомогою цієї бібліотеки ви можете легко запускати ітераційні алгоритми ML.

5. GraphX

Graph Analytics - це в основному визначення взаємозв'язків між об'єктами в графіку, наприклад, найкоротша відстань між двома точками. Це допомагає оптимізації маршруту. API Spark GraphX ​​допомагає в обчисленні графіків і паралельних графів. Це спрощує графічну аналітику та робить її швидшою та надійнішою. Одне з головних і відомих додатків графічної аналітики - це Google Maps.

Він виявляє відстань між двома місцями і дає оптимальну пропозицію щодо маршруту. Іншим прикладом можуть бути пропозиції друзів у Facebook. GraphX ​​працює як з графіками, так і з обчисленнями. Spark пропонує ряд графічних алгоритмів, таких як ранжир сторінки, підключені компоненти, розповсюдження міток, SVD ++, сильно пов'язані компоненти та кількість трикутників.

6. ІскриR

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

Spark розробив пакет, відомий як SparkR, який вирішує проблему масштабування Р. Він заснований на розподілених кадрах даних, а також забезпечує той самий синтаксис, що і механізм розподіленої обробки R. Spark і неперевершена інтерактивність, пакети та візуалізація R поєднуються разом, щоб дати науковцям даних, що вони хочуть для своїх аналізів.

Висновок

Оскільки Spark є загальним призначенням, він опиняється в широкому діапазоні застосувань. Spark широко використовується у більшості додатків великих даних через свою продуктивність та надійність. Усі ці компоненти Spark оновлюються новими можливостями в кожному новому випуску та полегшують наше життя.

Рекомендовані статті

Це посібник із іскрових компонентів. Тут ми обговорюємо огляд та топ-6 компонентів іскри з детальним поясненням. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. 5 найважливіших альтернатив вулику
  2. Talend Open Studio Компоненти / Інструменти
  3. Топ-6 компонентів екотехнічної системи IoT
  4. Що таке інтеграція даних Talend з перевагами?

Категорія: