Прием, ETL и потоковая обработка конвейеров с помощью Azure Databricks и Delta Lake

Azure Databricks
Azure Data Lake Storage
Центр Интернета вещей Azure
Фабрика данных Azure
Центры событий Azure

Идеи решения

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

Ваша организация должна принять данные любого формата, размера и скорости в облаке согласованно. Решение в этой статье соответствует архитектуре, которая реализует извлечение, преобразование и загрузку из источников данных в озеро данных. Озеро данных может содержать все данные, включая преобразованные и курированные версии в различных масштабах. Эти данные можно использовать для аналитики данных, бизнес-аналитики (BI), отчетов, обработки и анализа данных и машинного обучения.

Apache® и Apache Spark™ являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах. Использование этих меток не подразумевает подтверждения от Apache Software Foundation.

Архитектура

Схема, демонстрирующая архитектуру и поток данных для ETL и потоковой обработки с помощью Azure Databricks.

Скачайте файл Visio для этой архитектуры.

Поток данных

  1. Данные приемуются следующим образом:

    • Очереди событий, такие как Центры событий, Центр Интернета вещей или Kafka, отправляют потоковую передачу данных в Azure Databricks, которая использует оптимизированный компонент Delta Engine для чтения данных.
    • Запланированные или активированные конвейеры фабрики данных копируют данные из разных источников данных в необработанных форматах. Автозагрузчик в Azure Databricks обрабатывает данные по мере поступления.
  2. Azure Databricks загружает данные в оптимизированные, сжатые таблицы или папки Delta Lake в бронзовом слое в Data Lake Storage.

  3. Потоковая передача, планирование или активация заданий Azure Databricks считывают новые транзакции из бронзового слоя Data Lake Storage. Задания присоединяются, очищают, преобразуют и агрегируют данные перед использованием транзакций ACID для загрузки их в курированные наборы данных в уровнях Data Lake Storage Silver и Gold.

  4. Наборы данных хранятся в Delta Lake в Data Lake Storage.

Каждая служба отправляет данные в общий формат, чтобы обеспечить согласованность. В архитектуре используется общее озеро данных на основе открытого формата Delta Lake. Необработанные данные передаются из разных источников пакетной и потоковой передачи для формирования единой платформы данных. Платформу можно использовать для подчиненных вариантов использования, таких как аналитика, отчеты бизнес-аналитики, обработка и анализ данных, ИИ и машинное обучение.

Бронзовые, серебряные и золотые уровни хранения

С шаблоном медальона, состоящим из бронзовых, серебряных и золотых слоев хранения, клиенты имеют гибкий доступ и расширяемую обработку данных.

  • Бронзовые таблицы предоставляют точку входа для необработанных данных, когда она приземляется в Data Lake Storage. Данные принимаются в формате необработанного источника и преобразуются в открытый, транзакционный формат Delta Lake для обработки. Решение отправляет данные в бронзовый слой с помощью:
    • API Apache Spark в Azure Databricks. API считывают события потоковой передачи из Центров событий или Центр Интернета вещей, а затем преобразуют эти события или необработанные файлы в формат Delta Lake.
    • Команда COPY INTO . Используйте команду для копирования данных непосредственно из исходного файла или каталога в Delta Lake.
    • Автозагрузчик Azure Databricks. Автозагрузчик захватывает файлы при поступлении в озеро данных и записывает их в формат Delta Lake.
    • Действие копирования фабрики данных. Клиенты могут использовать этот параметр для преобразования данных из любого из поддерживаемых форматов в формат Delta Lake.
  • Серебряные таблицы хранят данные во время оптимизации для бизнес-аналитики и обработки и анализа данных. Бронзовый слой выполняет прием необработанных данных, а затем для фильтрации, очистки, преобразования, объединения и агрегирования данных в наборы данных silver curated. Компании могут использовать согласованный вычислительный модуль, например подсистему Delta Engine с открытыми стандартами, при использовании Azure Databricks в качестве начальной службы для этих задач. Затем они могут использовать знакомые языки программирования, такие как SQL, Python, R или Scala. Компании также могут использовать повторяемые процессы DevOps и временные вычислительные кластеры для отдельных рабочих нагрузок.
  • Золотые таблицы содержат обогащенные данные, готовые к аналитике и отчетности. Аналитики могут использовать свой метод выбора, например PySpark, Koalas, SQL, Power BI и Excel, чтобы получить новые аналитические сведения и сформулировать запросы.

Компоненты

  • Центры событий анализирует и оценивает потоковые сообщения из различных источников, включая локальные системы, и предоставляет информацию в режиме реального времени.
  • Фабрика данных управляет конвейерами данных для приема, подготовки и преобразования всех данных в любом масштабе.
  • Data Lake Storage объединяет потоковую передачу и пакетные данные, включая структурированные, неструктурированные и полуструктурированные данные, такие как журналы, файлы и носители.
  • Azure Databricks очищает и преобразует наборы данных без структуры и объединяет их со структурированными данными из операционных баз данных или хранилищ данных.
  • Центр Интернета вещей обеспечивает высокую безопасность и надежную связь между приложением Интернета вещей и устройствами.
  • Delta Lake в Data Lake Storage поддерживает транзакции ACID для надежности и оптимизированы для эффективного приема, обработки и запросов.

Подробности сценария

Прием, ETL и потоковая обработка с помощью Azure Databricks — это простая, открытая и совместная работа:

  • Простой. Открытое озеро данных с управляемым слоем в формате с открытым исходным кодом упрощает архитектуру данных. Delta Lake, средство с открытым исходным кодом, предоставляет доступ к озеру данных Azure Data Lake Storage. Delta Lake в Data Lake Storage поддерживает атомарность, согласованность, изоляцию и устойчивость транзакций (ACID) для надежности. Delta Lake оптимизирован для эффективного приема, обработки и запросов.
  • Open: Решение поддерживает открытый исходный код, открытые стандарты и открытые платформы. Он также работает с популярными интегрированными средами разработки (IDEs), библиотеками и языками программирования. Благодаря собственным соединителям и API решение также работает с широким спектром других служб.
  • Совместная работа: инженеры данных, специалисты по обработке и анализу данных работают вместе с этим решением. Они могут использовать записные книжки для совместной работы, идентификаторы, панели мониторинга и другие средства для доступа к общим базовым данным и их анализа.

Azure Databricks легко интегрируется с другими службами Azure, такими как Data Lake Storage, Фабрика данных Azure, Центры событий Azure и Центр Интернета вещей Azure.

Потенциальные варианты использования

Это решение вдохновляется системой, созданной Службой здравоохранения Предоставления для аналитики в режиме реального времени. Любая отрасль, которая использует пакетные или потоковые данные, также может рассмотреть это решение. Вот некоторые примеры.

  • Розничная электронная торговля
  • Finance
  • Здравоохранение и медико-биологические науки
  • Поставщики энергии

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

  • Испанские point Technologies создает свой механизм сопоставления с помощью Azure Databricks и Фабрика данных Azure для приема данных в масштабе, чтобы помочь музыкантам получить справедливое оплату.

Руководства и полностью развернутые архитектуры: