🎯 Definicja
Inżynieria Danych to dziedzina IT zajmująca się transportem, transformacją i przechowywaniem danych. Inżynier Danych to “hydraulik”, który buduje system rur (Pipeline’y), aby dostarczyć czystą wodę (Dane) do kranów (Raporty BI, Modele ML), z których korzystają mieszkańcy (Biznes, Data Scientiści).
🔑 Kluczowe punkty
- Cel: Dostarczenie wiarygodnych danych we właściwym czasie i formacie.
- Narzędzia: SQL, Python, Chmura (AWS/Azure/GCP), Orkiestratory (Airflow), Bazy danych (Snowflake, Postgres).
- Różnica: Data Scientist analizuje dane (szuka wzorców). Data Engineer buduje systemy, które te dane dostarczają.
📚 Szczegółowe wyjaśnienie
Główne zadania DE:
- Ingestion: Pobranie danych z API, plików, baz (ELT).
- Transformation: Czyszczenie, łączenie i aggregacja (dbt, Spark).
- Serving: Wystawienie danych dla innych (Data Marts, API).
- Orchestration: Zarządzanie kolejnością zadań (Airflow, Dagster).
- Quality: Dbanie o to, by dane nie były “śmieciami”.
💡 Przykład zastosowania
Sklep internetowy chce wiedzieć, co klienci klikają. Inżynier Danych:
- Konfiguruje zbieranie logów ze strony (Clickstream).
- Ustawia streamowanie tych logów do Data Lake (S3).
- Pisze proces Spark/SQL, który co godzinę mieli te logi i wylicza “Top 10 produktów”.
- Zapisuje wynik do hurtowni, skąd pobiera go dashboard marketingu.
📌 Źródła
- “Fundamentals of Data Engineering” - Joe Reis & Matt Housley.
👽 Brudnopis
- Obecnie granica między DE a Software Engineeringiem się zaciera (DataOps, Data reliability engineering).
- Kluczowa umiejętność: SQL. Bez SQL nie ma Inżynierii Danych.