Azure Data Factory для перемещения и преобразования данных

Azure Data Factory (или Фабрика данных) – это интеграционный «облачный» сервис, который позволяет формировать и автоматизировать перемещение и преобразование данных с использованием локальных и «облачных» источников данных.

azure-df-flow

Azure Data Factory (DF) позволяет комбинировать сервисы в управляемые конвейеры потока данных (data flow pipelines). Для преобразования данных можно использовать следующие сервисы:

  • Azure HDInsight (Hadoop) и Azure Batch для обработки «больших данных»;
  • Azure Machine Learning для продвинутой аналитики и машинного обучения;
  • Azure Stream Analytics для обработки большого количества событий в «реальном времени» и т.д.

Примеры источников данных:

  • Azure Data Warehouse – для создания реляционного хранилища данных;
  • Azure Blob Storage – для дешевого хранения больших объемов неструктурированных и полу-структурированных данных
  • Azure Data Lake – для хранения и скоростной обработки «больших данных» и т.д.

Пример использования: Мониторинг и прогнозирование неполадок автомобилей с помощью Cortana Analytics Suite.

Дополнительно: Introduction to Azure Data Factory Service

Мониторинг и прогнозирование неполадок автомобилей с помощью Cortana Analytics Suite

Давайте рассмотрим сценарий продвинутой аналитики, демонстрирующий как авто-дилеры, страховые компании и производители автомобилей могут использовать Cortana Analytics Suite включая Power BI в решении для получения аналитики реального времени и предсказаний работоспособности автомобилей и поведенческих шаблонов при вождении для улучшения качества езды, улучшения автомобилей и маркетинговых компаний.

Архитектура решения приведена на следующем рисунке:

CCArchitecture

Потоковые данные с датчиков автомобиля по сети Интернет поступают в Event Hub. Далее они поступают на вход Azure Stream Analytics (ASA).

В ASA настроены три постоянных запроса над входным потоком данных, каждый из которых обогащаются информацией о параметрах автомобилей из каталога автомобилей, хранящегося в Azure Blob Storage:

  1. Запрос №1 содержит данные по каждому автомобилю для отражения в реальном времени в Power BI.
  2. Запрос №2 отправляет данные по автомобилям в хранилище Blob Storage (это «большие данные» с точки зрения объемов информации; такие объемы выгодно хранить в Azure Blog Storage, т.к. в этом случае стоимость хранения минимальна).
  3. Запрос №3 агрегирует информацию по каждой модели и городу для сохранения в реляционном хранилище Azure DW для последующего отражение исторической отчетности.

Компонент решения Azure Data Factory выполняет интеграционную задачу. На основании файла, сгенерированного в ходе выполнения запроса №2 в ASA, в Blob Storage формируются три таблицы с выделением сведений об эффективности использования горючего, об агрессивности вождения и о возможных аномалиях.

CC-demo-ADF

За формирование этих дополнительных таблиц отвечают скрипты Hive, в которых задается структура таблиц над CSV-файлами, а затем выполняется агрегирование информации с помощью INSERT-запросов.

CC-demo-ADF-hive

Выборка данных об аномалиях направляется в сервис Azure Machine Learning, где формируется прогноз по возможному выходу автомобилей из строя. Благодаря этому прогнозу можно проактивно заказывать требуемые компоненты на замену и выполнять техническое обслуживание автомобилей (это сводит к минимуму простои оборудования).

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

CC-demo-AML

Далее информация из файлов в Blob Storage направляется в хранилище Azure Data Warehouse и отражается на информационных панелях Power BI. Другая часть данные поступает напрямую из ASA и отражается в Power BI в «реальном времени».

CC-demo-powerbi

Используемые в сценарии технологии: Event Hub, Azure Stream Analytics, Azure Machine Learning, Azure Data Factory, HDInsight, Azure Storage, Azure DW, и Power BI.