🎯 Definicja
EtLT (Extract, tweak, Load, Transform) to wariant podejścia ELT, w którym dodajemy mały krok “t” (tweak/cleanup) przed załadowaniem danych. Chodzi o to, by usunąć dane wrażliwe (PII) lub naprawić krytyczne błędy formatu zanim dane trafią do chmury/hurtowni.
🔑 Kluczowe punkty
- Po co? Bezpieczeństwo (maskowanie PESEL/Kart) i zgodność techniczna (np. JSON jest zepsuty i wywali Load).
- Gdzie? Tweak dzieje się “w locie” (in-memory) na serwerze ekstrakcji (np. Airbyte worker).
- Co dalej? Po załadowaniu następuje właściwa, ciężka transformacja “T” (SQL/dbt).
📚 Szczegółowe wyjaśnienie
Czyste ELT (“Wgraj wszystko jak leci”) bywa ryzykowne. Jeśli wgrasz bazę klientów z niezaszyfrowanymi hasłami do BigQuery, masz incydent bezpieczeństwa. Dlatego robimy EtLT:
- Extract: Pobierz dane.
- tweak: Zahaszuj hasła, usuń nulle z kluczy głównych.
- Load: Wgraj do BigQuery.
- Transform: Policz KPI.
💡 Przykład zastosowania
Import logów z aplikacji.
Logi zawierają tokeny sesji użytkowników (ryzyko!).
Skrypt Pythona pobiera logi (E), usuwa pole session_token (t), i wgrywa do S3 (L). Następnie Spark przetwarza to na raporty (T).
📌 Źródła
- Airbyte Documentation (Normalization concepts).
👽 Brudnopis
- “t” powinno być lekkie. Jeśli “t” zaczyna robić joiny i agregacje, wracasz do starego ETL.
- Często nazywane “Light Transformation” lub “Sanitization”.