Выбор технологии пакетной обработки в Azure

Решения больших данных часто используют длительные пакетные задания для фильтрации, агрегирования и подготовки данных для анализа. Как правило, эти задания включают чтение исходных файлов из масштабируемого хранилища (например, HDFS, Azure Data Lake Store и служба хранилища Azure), их обработку и запись выходных данных в новые файлы в масштабируемом хранилище.

Основным требованием таких обработчиков пакетной обработки является горизонтальное масштабирование вычислений для обработки большого объема данных. В отличие от обработки в режиме реального времени, пакетная обработка, как ожидается, будет иметь задержки (время между приемом данных и вычислением результата), которое измеряется в минутах до часов.

Технологии пакетной обработки

Azure Synapse Analytics

Azure Synapse — это распределенная система для аналитических вычислений на основе больших объемов данных. Она поддерживает массовую параллельную обработку (MPP), что делает ее пригодной для выполнения высокопроизводительной аналитики. Если имеется большой объем данных (более 1 ТБ) и используется рабочая нагрузка аналитики, которая выиграет от параллелизма, рассмотрите возможность использования Azure Synapse.

Аналитика озера данных Azure

Data Lake Analytics — это служба обработки заданий аналитики по запросу. Он оптимизирован для распределенной обработки больших наборов данных, хранящихся в Azure Data Lake Store.

  • Языки: U-SQL (включая Python, R, и расширения C#).
  • Интегрируется с Azure Data Lake Store, хранилищем BLOB-объектов Azure, Базой данных SQL Azure и Azure Synapse.
  • Модель ценообразования предполагает плату за каждое задание.

HDInsight

HDInsight является управляемой службой Hadoop. Используйте его для развертывания кластеров Hadoop и управления ими в Azure. Для пакетной обработки можно использовать Spark, Hive, Hive LLAP, MapReduce.

  • Языки: R, Python, Java, Scala, SQL.
  • Проверка подлинности Kerberos с помощью Active Directory, управления доступом на основе Apache Ranger
  • Предоставляет полный контроль над кластером Hadoop

Azure Databricks

Azure Databricks — это высокопроизводительная платформа на основе Apache Spark. Ее можно считать "Spark как услуга". Это самый простой способ использования Spark на платформе Azure.

  • Языки: R, Python, Java, Scala, Spark SQL.
  • Быстрый запуск кластера, автоматическое завершение, автоматическое масштабирование.
  • Управляет кластером Spark.
  • Встроенная интеграция с хранилищем BLOB-объектов Azure, Azure Data Lake Storage (ADLS), Azure Synapse и другими службами. См. раздел Data Sources (Источники данных).
  • Проверка подлинности пользователей с помощью идентификатора Microsoft Entra.
  • Записные книжки на основе веб-технологий для совместной работы и просмотра данных.
  • Возможность использования кластеров с поддержкой GPU.

Основные критерии выбора

Чтобы ограничить количество вариантов, сначала ответьте на следующие вопросы:

  • Вы хотите использовать управляемую службу, а не управлять собственными серверами?

  • Какой подход будет использоваться для создания логики пакетной обработки: декларативный или императивный?

  • Пакетная обработка будет выполняться периодически? Если да, рассмотрите варианты, позволяющие автоматически завершать работу кластера или предусматривающие оплату за каждое пакетное задание.

  • Необходимо ли запрашивать реляционные хранилища данных вместе с пакетной обработкой, например для поиска ссылочных данных? Если да, рассмотрите параметры, которые позволяют запрашивать внешние реляционные хранилища.

Матрица возможностей

В следующих таблицах перечислены основные различия в возможностях.

Общие возможности

Возможность Аналитика озера данных Azure Azure Synapse HDInsight Azure Databricks
Является управляемой службой Да Да Да 1 Да
Реляционное хранилище данных Да Да No Да
Модель ценообразования За пакетное задание За час работы кластера За час работы кластера Единица Databricks2 + час работы кластера

[1] С настройкой вручную.

[2] Единица Databricks (DBU) — это единица продуктивности процесса в час.

Возможности

Возможность Аналитика озера данных Azure Azure Synapse HDInsight со Spark HDInsight с Hive; HDInsight с Hive LLAP Azure Databricks
Автомасштабирование No No Да Да Да Да
Степень детализации при горизонтальном масштабировании за задание По кластерам По кластерам По кластерам По кластерам По кластерам
Выполняющееся в памяти кэширование данных No Да Да No Да Да
Отправка запросов из внешних реляционных хранилищ Да No Да No No Да
Проверка подлинности Microsoft Entra ID SQL / Идентификатор Microsoft Entra No ИдентификаторMicrosoft Entra 1 ИдентификаторMicrosoft Entra 1 Microsoft Entra ID
Аудит Да Да Нет Да 1 Да 1 Да
Безопасность на уровне строк No Да2 No Да 1 Да 1 Да
Поддержка брандмауэров Да Да Да Да 3 Да 3 Да
Динамическое маскирование данных No Да Нет Да 1 Да 1 Да

[1] Требуется использовать присоединенный к домену кластер HDInsight.

[2] Только предикаты фильтров. См. статью Безопасность на уровне строк.

[3] Поддерживается при использовании в виртуальной сети Azure.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.

Автор субъекта:

Следующие шаги