Cloud Spark в архитектуре Data Lakehouse

Cloud Spark — фреймворк для обработки данных в режиме реального времени с возможностью распределения задач между несколькими вычислительными узлами, объединенными в кластеры. Опционально включается в архитектуру DLH при необходимости реализации сложных сквозных многоэтапных ETL-пайплайнов обработки данных от источников через S3-хранилище до конечных потребителей.

Cloud Spark ускоряет обработку больших данных благодаря реализованным технологическим решениям:

  • In-memory processing — хранение и обработка данных в оперативной памяти.
  • Lazy Evaluation — стратегия обработки данных, при которой выполнение вычислений откладывается до момента, пока не понадобится их результат.
  • Resilient Distributed Datasets (RDD) — стратегия хранения данных как распределенного набора объектов, при которой исходные датасеты и результаты вычислений реплицируются на нескольких узлах кластера, что позволяет ускорить обработку запросов и повысить отказоустойчивость системы.
  • Параллельная обработка и комбинирование операций — балансировка нагрузки по узлам кластера для возможности параллельного выполнения операций в режиме реального времени.

Компонент выполняет следующие функции:

  • Предоставляет API для возможности выгрузки данных из источников – интеграционные сервисы могут быть написаны на языках Python, Java и R, что сильно снижает порог входа в DLH.

  • Выполняет трансформацию данных, полученных из источников, до их сохранения в основное S3-хранилище DLH.

  • Предоставляет библиотеки для двустороннего обмена данными с основным S3-хранилищем DLH с поддержкой различных типов данных:

    • Spark SQL – выполнение типичных для реляционных СУБД операций со структурированными данными.
    • Spark Streaming – обработка входящего потока данных в режиме реального времени.
    • GraphX – выполнение вычислений над огромными массивами связанных объектов «Вершина - Ребро» для решения типовых задач графовой аналитики (например, subgraph, joinVerticles и aggregateMessages).
    • MLlib – выполнение классификации, регрессии, кластеризации данных для подготовки датасетов и алгоритмов обучения ML-моделей.
  • Преобразует данные DLH к формату, требуемому для отчетов, аналитики BI, машинного обучения.

  • Взаимодействует с потребителями информации DLH напрямую или через специализированные СУБД для аналитики, например, ClickHouse или PostgreSQL.

Cloud Spark дополняет Сloud Trino в архитектуре DLH: Сloud Trino подходит для интерактивных аналитических запросов и задач data science, Cloud Spark обеспечивает ETL- и ELT-обработку, потоковые вычисления и машинное обучение. Использование обоих компонентов позволяет создать сбалансированную среду, где каждый инструмент применяется для наиболее подходящих задач.