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

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

Идеи решения

Эта статья является идеей решения. Если вы хотите расширить содержимое с дополнительными сведениями, такими как потенциальные варианты использования, альтернативные службы, рекомендации по реализации или рекомендации по ценам, сообщите нам, предоставив отзыв GitHub.

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

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

Архитектура

Diagram that shows the architecture and data flow for ETL and stream processing with Azure Databricks.

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

Поток данных

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

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

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

  4. Наборы данных хранятся в Delta Lake в Data Lake служба хранилища.

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

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

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

  • Бронзовые таблицы предоставляют точку входа для необработанных данных, когда она приземляется в Data Lake служба хранилища. Данные принимаются в формате необработанного источника и преобразуются в открытый, транзакционный формат 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 служба хранилища объединяет потоковую передачу и пакетные данные, включая структурированные, неструктурированные и полуструктурированные данные, такие как журналы, файлы и носители.
  • Azure Databricks очищает и преобразует наборы данных без структуры и объединяет их со структурированными данными из операционных баз данных или хранилищ данных.
  • Центр Интернета вещей обеспечивает высокую безопасность и надежную связь между приложением Интернета вещей и устройствами.
  • Delta Lake в Data Lake служба хранилища поддерживает транзакции ACID для надежности и оптимизированы для эффективного приема, обработки и запросов.

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

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

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

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

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

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

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

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

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

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