Definicja #
ETL (Extract, Transform, Load) to trójfazowy proces integracji danych, będący fundamentem hurtowni danych (data warehouse) i systemów analitycznych (BI):
- Extract (Ekstrakcja) — pobieranie danych ze źródeł: bazy relacyjne, pliki CSV/JSON/XML, API, systemy ERP/CRM, logi
- Transform (Transformacja) — czyszczenie, normalizacja, mapowanie typów, łączenie zbiorów, agregacje, obliczenia biznesowe, walidacja jakości danych
- Load (Ładowanie) — zapisywanie przetworzonych danych do docelowego systemu: hurtownia danych (DWH), data mart, data lake lub system OLAP
Nowoczesna alternatywa to ELT (Extract, Load, Transform), gdzie surowe dane ładowane są najpierw do chmurowego data lake (np. Azure Data Lake, AWS S3), a transformacje wykonywane są w docelowym systemie analitycznym (np. Snowflake, BigQuery, Databricks).
Popularne narzędzia ETL: Apache Spark, Apache Airflow, dbt, Azure Data Factory, AWS Glue, Talend, Informatica.
Zastosowania #
ETL jest stosowany do:
- Budowy hurtowni danych (DWH) i zasilania systemów Business Intelligence (Power BI, Tableau)
- Migracji danych między systemami — np. przy wdrożeniu nowego ERP
- Integracji danych z wielu systemów źródłowych (CRM, ERP, e-commerce) do jednego repozytorium
- Przetwarzania dużych wolumenów danych (big data) w architekturach Lambda i Kappa
- Przygotowania danych do modeli uczenia maszynowego i analityki predyktywnej
Ścieżka nauki #
Przed nauką ETL warto znać podstawy SQL i co najmniej jednego języka programowania (Python lub Scala).
Zacznij od:
- SQL — zaawansowane transformacje, window functions, CTE
- Podstawy Pythona — biblioteki Pandas, PySpark
- Koncepcje modelowania danych: schematy gwiazdowy (star schema) i płatek śniegu (snowflake schema)
Następnie poznaj:
- Apache Spark i PySpark — przetwarzanie dużych zbiorów danych
- Apache Airflow — orkiestracja pipeline'ów ETL
- dbt (data build tool) — transformacje w ELT na nowoczesnych platformach cloud
- Platformy chmurowe: Azure Data Factory, AWS Glue, Google Dataflow
FAQ #
- Czym różni się ETL od ELT?
- W ETL dane są transformowane przed załadowaniem do systemu docelowego (zazwyczaj w dedykowanym serwerze ETL). W ELT dane ładowane są najpierw surowe do data lake lub chmurowego DWH, a transformacje wykonywane są bezpośrednio w docelowym systemie. ELT jest popularniejszy w architekturach chmurowych.
- Jakie narzędzia ETL są najpopularniejsze?
- W chmurze dominują Azure Data Factory, AWS Glue i Google Dataflow. W świecie open source popularne są Apache Spark, Apache Airflow i dbt. W środowiskach korporacyjnych często spotkamy Informaticę lub Talend.
- Ile zarabia Data Engineer z doświadczeniem ETL?
- Data Engineer specjalizujący się w ETL i data pipelines zarabia w Polsce od 12 000 do 22 000 zł brutto. Doświadczony inżynier z Spark i platformami chmurowymi może zarabiać powyżej 25 000 zł.
- Jak długo uczyć się ETL?
- Podstawy ETL z Pythonem i SQL można opanować w 2–3 miesiące. Pełna biegłość w orkiestracji pipeline'ów, Sparku i architekturach data warehouse wymaga roku lub więcej praktycznego doświadczenia.