Szkolenie: Data Engineer – inżynieria danych w Pythonie
Szkolenie Data Engineer w Pythonie to praktyczny kurs inżynierii danych, który uczy projektowania i budowy produkcyjnych pipelineów danych z wykorzystaniem Python, Apache Airflow, Apache Spark, Apache Kafka oraz baz SQL i NoSQL, obejmując ETL i ELT, data lake, przetwarzanie wsadowe i strumieniowe, jakość danych, orkiestrację, optymalizację wydajności i udostępnianie danych
Szkolenie przygotowuje do samodzielnego projektowania i budowy produkcyjnych procesów ETL i ELT w języku Python z uwzględnieniem architektury data lake, podziału na warstwy danych oraz zasad powtarzalnego i odpornego na błędy przetwarzania
Szkolenie uczy organizowania przepływów danych z wykorzystaniem Apache Airflow, w tym definiowania zadań, obsługi harmonogramów, ponowień, backfillu oraz uruchamiania procesów wsadowych i zdarzeniowych w środowisku produkcyjnym
Szkolenie pokazuje przetwarzanie dużych zbiorów danych w Apache Spark, obejmujące czyszczenie danych, transformacje, partycjonowanie, budowę warstw pośrednich i docelowych oraz dobór technik poprawy wydajności przetwarzania
Szkolenie omawia integrację źródeł i systemów danych z wykorzystaniem Apache Kafka, PostgreSQL i Redis oraz pokazuje, jak łączyć przetwarzanie wsadowe i strumieniowe w produkcyjnych pipeline’ach danych
Szkolenie rozwija umiejętność kontrolowania jakości danych, diagnozowania problemów wydajnościowych oraz budowy kompletnego pipelineu danych od pozyskania, przez walidację i przetwarzanie, po publikację wyników
Dla kogo?
Programiści Python z praktyczną znajomością SQL, którzy chcą rozwijać kompetencje w obszarze Data Engineering lub pracować jako Data Engineer
Inżynierowie danych budujący lub utrzymujący pipeliney ETL, ELT i platformy danych
Analitycy danych i backend developerzy rozszerzający kompetencje o Spark, Airflow i Kafka
Specjaliści platform danych odpowiedzialni za integrację źródeł, jakość danych i wydajność
Osoby pracujące z Dockerem i bazami danych, które chcą wdrażać produkcyjne procesy danych
Efekty kształcenia
Uczestnik projektuje pipeline danych zgodny z podejściem ETL, ELT i architekturą medalionową
Uczestnik buduje przepływy Airflow z harmonogramem, ponawianiem zadań i backfillem
Uczestnik przetwarza dane w Apache Spark z użyciem DataFrame, partycjonowania i technik optymalizacji
Uczestnik integruje dane wsadowe i strumieniowe z użyciem Kafka i Structured Streaming
Uczestnik wdraża walidację jakości danych, kwarantannę rekordów i testy w pipeline
Uczestnik analizuje wydajność zapytań i dobiera SQL, NoSQL oraz mechanizmy cache
Wymagania
Praktyczna znajomość języka Python w zakresie funkcji, klas i środowisk wirtualnych
Znajomość języka SQL w zakresie złączeń, agregacji i podzapytań
Mile widziane doświadczenie w pracy z danymi lub bazami danych
Umiejętność korzystania z narzędzi wirtualizacji, np. Docker, Podman
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Inżynieria danych w środowisku produkcyjnym a jednorazowe skrypty
Przetwarzanie z transformacją przed i po załadowaniu (ETL a ELT)
Architektura data lake z podziałem na jakość danych (medallion architecture) i warstwy bronze, silver, gold
Powtarzalność przetwarzania odporna na wielokrotne uruchomienie (idempotency)
Pozyskiwanie danych (ingestion) do warstwy surowej z użyciem biblioteki boto3
Praca z magazynem obiektowym S3
Dzielenie danych na partycje (partitioning) według daty
Kolumnowy format Parquet i jego zastosowania
Zapis odporny na ponowne wykonanie (idempotent write)
Sesja Sparka, lazy evaluation i partycje
Interfejs programistyczny DataFrame w języku Python
Czyszczenie, ustalanie typów i usuwanie duplikatów
Budowa warstwy pośredniej i docelowej
Zmiana liczby partycji - repartition a coalesce
Zapis do bazy PostgreSQL sterownikiem JDBC
Warstwa udostępniania danych z użyciem SQLAlchemy i psycopg
Redis jako baza NoSQL i pamięć podręczna (cache)
Wzorzec pobierania z pominięciem pamięci podręcznej (cache-aside)
Kryteria wyboru między bazą SQL a NoSQL
Budowa przepływów w interfejsie TaskFlow
Ponawianie zadań, powtarzalność i uzupełnianie danych historycznych (backfill)
Uruchamianie zadań PySpark z poziomu Airflow
Wyzwalanie przepływów po pojawieniu się danych
Walidacja danych z użyciem Great Expectations
Kontrola kompletności, unikalności i aktualności danych
Odkładanie błędnych rekordów do kwarantanny
Testy jakości jako element przepływu
Analiza planów zapytań w bazie PostgreSQL (EXPLAIN ANALYZE)
Indeksy złożone i dzielenie tabel na partycje
Przesuwanie warunków filtrowania do źródła (predicate pushdown)
Złączenie danych z duplikowaniem mniejszego zbioru (broadcast join)
Diagnostyka w interfejsie Spark UI
Apache Kafka w trybie KRaft
Producent i konsument komunikatów w języku Python
Gwarancje dostarczenia - co najmniej raz (at-least-once) i dokładnie raz (exactly-once)
Przetwarzanie strumieniowe w Spark Structured Streaming
Punkty kontrolne (checkpointing) i odtwarzalność przetwarzania
Usuwanie duplikatów zdarzeń z wykorzystaniem Redis
Połączenie ścieżki wsadowej (batch) i strumieniowej (streaming) w jeden proces
Wspólny model danych dla obu ścieżek
Budowa kompletnego przepływu danych (pipeline) od pozyskania po udostępnienie
Przetwarzanie sterowane zdarzeniami w Apache Airflow
Autorem szkolenia jest Bartosz Mikulski
Inżynier danych, MLOps engineer. W pracy zawodowej zajmuje się budowaniem zautomatyzowanej platformy wdrażania modeli uczenia maszynowego na produkcji.
Specjalizuje się w inżynierii danych z użyciem AWS.
Od 2017 roku pisze bloga o inżynierii danych, uczeniu maszynowym i sztucznej inteligencji.
Napisał jeden z rozdziałów książki "97 Things Every Data Engineer Should Know".
Występuje na konferencjach i meetupach w roli prelegenta gdzie dzieli się swoim doświadczeniem ze społecznością programistów.…
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi