Из каких основных компонентов состоит платформа Databricks?

«Из каких основных компонентов состоит платформа Databricks?» — вопрос из категории Облачные платформы, который задают на 33% собеседований Data Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Databricks — это управляемая облачная платформа, построенная вокруг Apache Spark, которая объединяет возможности для обработки данных, машинного обучения и аналитики в едином окружении (Lakehouse).

Ключевые компоненты:

  1. Databricks Runtime:

    • Оптимизированная версия Apache Spark с улучшениями производительности и безопасности.
    • Включает встроенные библиотеки для ML (MLlib), потоковой обработки (Structured Streaming), работы с графами (GraphFrames).
  2. Unity Catalog:

    • Единая система управления метаданными и управления доступом (governance) для всех данных и объектов (таблицы, тома, модели) в Lakehouse.
    • Позволяет централизованно назначать права (GRANT, DENY) на уровне строк и столбцов.
  3. Delta Lake:

    • Открытый формат хранения поверх облачных объектных хранилищ (S3, ADLS, GCS), который привносит в Data Lakes надежность ACID-транзакций, управление схемой (MERGE, UPDATE) и версионность (time travel).
    • Пример: Откат к предыдущей версии таблицы из-за ошибочного обновления.
      RESTORE TABLE my_delta_table TO VERSION AS OF 10;
  4. Рабочее пространство (Workspace):

    • Веб-интерфейс для совместной работы. Включает:
    • Notebooks: Интерактивные блокноты с поддержкой Scala, Python, SQL, R.
    • Repos: Интеграция с Git для управления версиями кода.
    • Задачи (Jobs): Планирование и оркестрация выполнения Notebook-ов или JAR-файлов.
  5. Databricks SQL:

    • Выделенный сервис для выполнения SQL-запросов непосредственно к данным в Delta Lake через оптимизированный движок Photon.
    • Включает редактор запросов, панели мониторинга (Dashboards) и алерты.
  6. MLflow:

    • Интегрированный фреймворк для управления полным жизненным циклом машинного обучения: эксперименты, логирование моделей, развертывание.

На проекте мы использовали Databricks как основную платформу для ETL/ELT-пайплайнов, трансформируя сырые JSON-логи из Kafka в очищенные аналитические таблицы Delta Lake, которые затем использовались в BI-отчетах и ML-моделях.