Открыть сервис

Azure Data Factory

Azure Data Factory — это облачный сервис корпорации Microsoft для интеграции данных, предназначенный для создания, планирования и управления конвейерами (пайплайнами) извлечения, преобразования и загрузки данных (ETL/ELT). Сервис позволяет оркестрировать перемещение и трансформацию данных между различными источниками и хранилищами, как локальными, так и облачными, без необходимости написания сложного кода. Azure Data Factory является частью платформы Microsoft Azure и входит в категорию «Интеграция как услуга» (iPaaS).

История

Azure Data Factory был анонсирован компанией Microsoft в 2014 году на конференции //Build/ как инструмент для облачной интеграции данных. Первая публичная предварительная версия (public preview) стала доступна в марте 2015 года, а общая доступность (GA) наступила в июле 2015 года. Изначально сервис был ориентирован на простые сценарии перемещения данных между Azure Blob Storage, Azure SQL Database и локальными SQL Server.

В 2018 году Microsoft выпустила вторую версию сервиса — Azure Data Factory V2, которая принесла значительные изменения: поддержку управления потоком управления (control flow), включая условные операторы, циклы и параллельное выполнение действий, а также возможность размещения вычислительных мощностей для трансформации данных в среде Azure Databricks и Azure HDInsight. В 2019 году была добавлена интеграция с Azure Synapse Analytics, а в 2020 году — поддержка Git-репозиториев для управления версиями кода конвейеров.

На 2025 год Azure Data Factory продолжает развиваться, интегрируясь с новыми источниками данных и сервисами машинного обучения, а также получая функции автоматического масштабирования и повышения производительности.

Архитектура и основные компоненты

Azure Data Factory построен на метаданных, которые описывают конвейеры, действия, наборы данных и связанные службы. Архитектура включает несколько ключевых элементов:

Конвейеры (Pipelines)

Конвейер — это логическая группа действий, выполняемых в определённом порядке. Конвейер может содержать одно или несколько действий (activities), которые могут выполняться последовательно, параллельно или по условию. Конвейеры являются основной единицей оркестрации в ADF.

Действия (Activities)

Действия представляют собой отдельные шаги в конвейере. Они делятся на три категории:

Наборы данных (Datasets)

Наборы данных — это именованные представления структуры данных, которые используются в действиях. Они указывают, откуда и куда перемещать данные, а также их формат (CSV, JSON, Parquet, Avro и др.). Наборы данных ссылаются на связанные службы.

Связанные службы (Linked Services)

Связанные службы определяют строки подключения к внешним ресурсам: базам данных (SQL Server, Oracle, PostgreSQL, MySQL), файловым хранилищам (Azure Blob Storage, Amazon S3, Google Cloud Storage), веб-сервисам (REST API, HTTP) и другим источникам. Каждая связанная служба содержит учётные данные и параметры подключения.

Триггеры (Triggers)

Триггеры определяют, когда конвейер должен быть запущен. Поддерживаются три типа триггеров:

Интеграционные рантаймы (Integration Runtimes, IR)

Integration Runtime — это вычислительная среда, в которой выполняются действия. Существует три типа IR:

Возможности и функции

Перемещение данных

Azure Data Factory поддерживает копирование данных из более чем 90 встроенных соединителей (connectors), включая реляционные базы данных (SQL Server, Oracle, MySQL, PostgreSQL), облачные хранилища (Azure Blob, Amazon S3, Google Cloud Storage), веб-сервисы (Salesforce, Dynamics 365, SAP) и файловые системы (FTP, SFTP). Действие Copy может работать в режиме полной загрузки, инкрементальной загрузки или с использованием промежуточного хранилища (staging).

Преобразование данных

Трансформация данных может выполняться несколькими способами:

Оркестрация и управление потоком

ADF поддерживает сложные сценарии оркестрации: ветвление, циклы, параллельное выполнение, обработку ошибок и повторные попытки. Это позволяет строить конвейеры, которые адаптируются к различным условиям выполнения.

Мониторинг и журналирование

Сервис предоставляет встроенные средства мониторинга: панель управления с отображением статусов выполнения конвейеров, длительности операций, количества обработанных строк и ошибок. Журналы выполнения могут быть экспортированы в Azure Monitor или Azure Log Analytics для дальнейшего анализа.

Интеграция с Git и DevOps

Azure Data Factory поддерживает интеграцию с Git-репозиториями (Azure Repos, GitHub) для управления версиями конвейеров, наборов данных и связанных служб. Это позволяет командам разработчиков использовать стандартные практики CI/CD: ветвление, слияние, ревью кода и автоматическое развертывание через Azure DevOps.

Применение

Azure Data Factory используется в различных сценариях обработки данных:

Построение хранилищ данных (Data Warehousing)

Организации используют ADF для загрузки данных из операционных систем (ERP, CRM, транзакционные базы данных) в облачные хранилища данных, такие как Azure Synapse Analytics, Snowflake или Google BigQuery. Сервис позволяет выполнять инкрементальную загрузку, дедупликацию и очистку данных.

Создание озёр данных (Data Lakes)

ADF часто применяется для перемещения неструктурированных и полуструктурированных данных (логи, файлы, изображения) в Azure Data Lake Storage. Конвейеры могут автоматически преобразовывать форматы (например, из CSV в Parquet) для оптимизации запросов.

Интеграция данных для аналитики

Сервис используется для подготовки данных для отчётов и панелей мониторинга в Power BI, Tableau или Qlik. Конвейеры могут объединять данные из нескольких источников, выполнять агрегации и загружать готовые наборы в аналитические базы данных.

Миграция данных в облако

При переходе с локальной инфраструктуры на облачную Azure Data Factory помогает перенести исторические данные из SQL Server, Oracle или других систем в Azure. Self-hosted IR обеспечивает безопасное соединение с локальными источниками.

Обработка потоковых данных

Хотя ADF не является потоковым движком в реальном времени, он может интегрироваться с Azure Stream Analytics, Azure Event Hubs и Azure IoT Hub для периодической загрузки и обработки потоковых данных в пакетном режиме.

Ограничения и критика

Несмотря на широкие возможности, Azure Data Factory имеет ряд ограничений:

Сравнение с альтернативами

Azure Data Factory конкурирует с другими облачными сервисами интеграции данных:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →