Definicja #
Azure Data Factory (ADF) to zarządzana platforma integracji danych w chmurze Microsoft Azure, przeznaczona do budowania, zarządzania i monitorowania pipeline'ów ETL (Extract, Transform, Load) i ELT na skalę enterprise.
Kluczowe komponenty ADF:
- Pipelines — logiczne grupowanie aktywności (Activities) tworzące przepływ pracy; mogą być uruchamiane na żądanie, według harmonogramu lub zdarzeniowo
- Activities — jednostki pracy: Copy Activity (kopiowanie danych), Data Flow (transformacja bez kodu), Lookup, ForEach, If/Until (kontrola przepływu), wywołanie Azure Functions, Databricks Notebook
- Datasets — definicje struktury danych wejściowych/wyjściowych (tabela SQL, plik CSV, blob JSON)
- Linked Services — połączenia do źródeł danych (SQL Server, Azure Blob, Salesforce, REST API, SAP, ponad 100 konektorów)
- Integration Runtime (IR) — silnik wykonawczy: Azure IR (chmura), Self-hosted IR (połączenie z on-premises), Azure-SSIS IR (migracja pakietów SSIS)
- Mapping Data Flows — wizualny, bezserwerowy ETL: transformacje (Join, Aggregate, Filter, Pivot) projektowane graficznie, wykonywane na Apache Spark
- Triggers — wyzwalacze: Schedule Trigger (cron), Tumbling Window, Event-based Trigger (nowy plik w Azure Storage)
ADF integruje się ściśle z Azure Synapse Analytics (wspólny interfejs Synapse Pipelines), Azure Databricks i Azure Monitor. Jest odpowiedzią Microsoft na AWS Glue i Google Cloud Dataflow.
Zastosowania #
- Migracja danych do Azure — jednorazowe lub cykliczne przenoszenie danych z on-premises do chmury (SQL Server, Oracle, SAP -> Azure Synapse, Data Lake)
- Codzienne pipeline'y ETL — zasilanie hurtowni danych i data lake'ów przetworzonymi danymi z różnych systemów źródłowych
- Integracja danych SaaS — synchronizacja danych z Salesforce, Dynamics 365, SAP, ServiceNow do centralnego data warehouse
- Transformacje danych na dużą skalę — Mapping Data Flows wykonywane na Spark bez zarządzania klastrem
- Migracja SSIS do chmury — przenoszenie istniejących pakietów SQL Server Integration Services do Azure przez Azure-SSIS Integration Runtime
Ścieżka nauki #
Azure Data Factory jest dostępny bezpłatnie przez konto Azure Free Tier (z limitami) — zacznij od tutoriali w portalu Azure.
Zacznij od:
- Portal Azure: utwórz zasób Data Factory, przejrzyj interfejs ADF Studio
- Pierwszy pipeline: Copy Activity kopiujący plik CSV z Azure Blob Storage do Azure SQL Database
- Linked Services i Datasets: konfiguracja połączeń do źródeł i celów
- Harmonogramowanie: Schedule Trigger — automatyczne uruchamianie pipeline'u
Następnie pogłębiaj:
- Mapping Data Flows: wizualna transformacja danych (Join, Aggregate, Derived Column)
- Parametryzacja pipeline'ów — dynamiczne wartości przez Parameters i Variables; wielokrotne użycie pipeline'u
- Monitorowanie i alerty — ADF Monitor, integracja z Azure Monitor i Log Analytics
- Kontrola błędów: retry policy, dependency between activities, alerting on failures
- Certyfikacja: DP-203 (Azure Data Engineer Associate) — ADF jest ważnym tematem egzaminu
FAQ #
- Czym różni się Azure Data Factory od Azure Synapse Analytics?
- ADF to dedykowana usługa do orkiestracji pipeline'ów ETL/ELT. Azure Synapse Analytics to kompleksowa platforma analityczna łącząca data warehouse (Synapse SQL), Big Data (Spark), pipeline'y (Synapse Pipelines — klon ADF) i eksplorację danych. Synapse Pipelines oferuje te same funkcje co ADF zintegrowane z ekosystemem Synapse. Nowe projekty analityczne często wybierają Synapse zamiast ADF ze względu na integrację.
- Czy Azure Data Factory zastępuje SSIS?
- ADF jest chmurowym następnikiem SSIS (SQL Server Integration Services). Oferuje Azure-SSIS Integration Runtime do uruchamiania istniejących pakietów SSIS w Azure bez modyfikacji — to ścieżka migracji lift-and-shift. Nowe projekty powinny używać natywnych ADF Pipelines i Mapping Data Flows zamiast SSIS. ADF ma wyższą skalowalność i zarządzany model bez administracji serwerem.
- Jak działa rozliczanie Azure Data Factory?
- ADF rozlicza się za: liczbę uruchomień aktywności (Activity Runs), czas wykonania Data Flows na Spark (vCore-hours Data Flow Cluster), czas działania Integration Runtime i transfer danych. Uwaga: DBU (Databricks Unit) to termin rozliczeniowy specyficzny dla Azure Databricks, nie dla ADF. Koszty mogą szybko rosnąć przy dużej liczbie pipeline'ów i danych. Microsoft udostępnia kalkulator kosztów ADF na portal.azure.com.
- Jakie języki programowania są używane z ADF?
- ADF działa głównie przez interfejs graficzny (no-code/low-code) — pipeline'y i Data Flows tworzone wizualnie w ADF Studio. Do zaawansowanych transformacji można wywoływać: Azure Databricks Notebook (Python/Scala/SQL), Azure Functions (C#, Python, JavaScript), Azure Batch. ARM templates lub Bicep używane do IaC (Infrastructure as Code) dla ADF. Programowy dostęp przez SDK: Python, .NET, REST API.