AWS Glue
Analytics Cloud Practitioner Solutions Architect Associate Data Analytics Specialty

AWS Glue

AWS Glue

Serverless ETL w chmurze AWS. Odkrywaj, przeksztalcaj i laduj dane miedzy zrodlami bez zarzadzania infrastruktura.

AWS Glue to w pelni zarzadzany serwis ETL (Extract, Transform, Load), ktory pozwala odkrywac, przygotowywac i laczyc dane na potrzeby analityki i machine learning. Glue eliminuje potrzebe zarzadzania serwerami - uruchamiasz zadania ETL, a AWS zajmuje sie cala infrastruktura.

Sercem Glue jest Glue Data Catalog - centralny rejestr metadanych kompatybilny z Apache Hive. Dzieki niemu serwisy takie jak Athena, Redshift Spectrum czy EMR widza te same definicje tabel i schematow. To fundament kazdego data lake na AWS.

Czy wiesz, ze...

Glue Data Catalog stal sie domyslnym metastore Apache Hive dla calego ekosystemu analitycznego AWS. Pierwszy milion obiektow w Data Catalog jest darmowy - wystarczy dla wiekszosci projektow.

Pro Tip

Uzywaj Glue Job Bookmarks, zeby przetwarzac tylko nowe dane przy kolejnych uruchomieniach zadania ETL. Dzieki temu unikasz ponownego przetwarzania calego zbioru danych i drastycznie obnizasz koszty DPU.

AWS Glue to w pelni zarzadzany serwis ETL (Extract, Transform, Load) i Data Catalog. Glue automatycznie odkrywa schematy danych (crawlers), przechowuje metadane w centralnym katalogu i wykonuje zadania ETL na silniku Apache Spark. Data Catalog sluzy jako centralny rejestr schematow dla Athena, Redshift Spectrum, EMR i Lake Formation.

1

Tworzenie Crawlera

Crawler automatycznie skanuje zrodla danych (S3, RDS, DynamoDB, JDBC) i odkrywa schematy, formaty i partycje. Konfiguracja crawlera: zrodlo danych (sciezka S3 lub connection JDBC), IAM role z dostepem do zrodel, docelowa baza w Data Catalog, harmonogram uruchamiania (np. co godzine). Crawler wykrywa formaty: Parquet, ORC, JSON, CSV, Avro, XML. Dla S3 automatycznie rozpoznaje partycjonowanie po strukturze katalogow (np. year=2024/month=01/).

2

Data Catalog - centralny rejestr schematow

Data Catalog przechowuje metadane: bazy danych, tabele, kolumny, typy danych, lokalizacje fizyczne i statystyki. Kazda tabela w katalogu to definicja schematu wskazujaca na dane w S3, RDS lub innym zrodle. Catalog jest kompatybilny z Apache Hive Metastore - Athena, Redshift Spectrum i EMR uzywaja go natywnie. Mozesz miec do 1 000 000 tabel w jednym koncie AWS.

3

Tworzenie zadania ETL (Spark/Python)

Glue ETL Job to skrypt PySpark lub Python Shell wykonywany na zarzadzanym klastrze Spark. Glue Studio oferuje wizualny edytor drag-and-drop do budowania pipeline bez pisania kodu. Glue generuje kod PySpark z DynamicFrame API (rozszerzenie DataFrame z obsluga niejednorodnych schematow). Mozesz tez pisac wlasny kod Spark/Python. Typy workerow: G.1X (4 vCPU, 16 GiB), G.2X (8 vCPU, 32 GiB), G.4X, G.8X.

4

Konfiguracja triggerow i workflow

Triggery uruchamiaja zadania ETL: on-demand (reczne), scheduled (cron), conditional (po zakonczeniu innego zadania). Glue Workflow laczy wiele crawlerow i jobow w orkiestrowany pipeline z zaleznosci. Np. Workflow: Crawler S3 -> ETL Transform -> Crawler wynikowy -> kolejny ETL. Mozesz tez uzywac Step Functions do bardziej zlozonej orkiestracji z obsluga bledow i rozgalezien.

5

Job Bookmarks - przyrostowe ETL

Job Bookmarks sledzca, ktore dane zostaly juz przetworzone. Przy kolejnym uruchomieniu job przetwarza tylko nowe dane (np. nowe pliki w S3, nowe wiersze w tabeli JDBC). Bookmarks dzialaja na podstawie sciezek S3, timestampow lub primary key. Wlaczenie: job.init(), job.commit() w kodzie. Bez bookmarks kazde uruchomienie przetwarza calosc danych - dla duzych zbiorow to roznica miedzy minutami a godzinami.

6

Monitorowanie i debugowanie

Glue integruje sie z CloudWatch (metryki, logi) i oferuje wlasne metryki: czas wykonania, zuzycie pamieci, ilosc przetworzonych rekordow, bledy. Spark UI (dostepny przez Glue Console) pokazuje DAG wykonania, czasy etapow i bottlenecki. Wlacz continuous logging dla real-time logow. Glue Data Quality pozwala definiowac reguly jakosci danych (np. kolumna NOT NULL, unikalne wartosci) i automatycznie je walidowac.

Praktyczne wskazowki do optymalizacji zadan ETL, zarzadzania kosztami i budowania niezawodnych pipeline danych w AWS Glue.

Glue Studio - wizualny edytor ETL

Glue Studio pozwala budowac pipeline ETL przez drag-and-drop bez pisania kodu Spark. Dostepne transformacje: ApplyMapping (zmiana nazw/typow kolumn), Filter, Join, Aggregate, Custom SQL, Custom Code. Studio generuje kod PySpark, ktory mozesz dalej edytowac. Dla prostych pipeline (S3 -> transform -> S3/Redshift) Studio jest 5-10x szybsze niz pisanie kodu od zera. Uzywaj go do prototypowania, a potem optymalizuj wygenerowany kod.

Poczatkujacy

Dobor DPU - optymalizacja kosztow

DPU (Data Processing Unit) to jednostka obliczeniowa Glue: 4 vCPU + 16 GiB RAM. Domyslna alokacja to 10 DPU (koszt 0.44 USD/DPU-godzine). Dla malych zbiorow (< 10 GiB) zmniejsz do 2-5 DPU. Monitoruj metryki CloudWatch: jezeli zuzycie CPU < 30% i pamieci < 50%, masz za duzo DPU. Glue Auto Scaling (Flex execution) automatycznie dobiera liczbe workerow - wlacz go dla zmiennych workloadow.

Poczatkujacy

Job Bookmarks dla przyrostowego ETL

Wlacz Job Bookmarks aby przetwarzac tylko nowe dane. Dla S3 bookmarks sledzca przetworzone sciezki plikow. Dla JDBC sledzca wartosci kolumny sortowania (np. updated_at). Pamietaj: bookmarks nie dzialaja z DynamoDB i niektorymi formatami. Jezeli job sie nie powiedzie, bookmark nie zostanie zaktualizowany - kolejne uruchomienie przetworzy dane ponownie. Uzyj job.commit() na koncu, nie w srodku skryptu.

Poczatkujacy

Glue Data Quality - walidacja danych

Glue Data Quality (DQDL) pozwala definiowac reguly jakosci danych deklaratywnie: RowCount > 0, Completeness("email") = 1.0, Uniqueness("order_id") > 0.99, ColumnValues "age" between 0 and 150. Reguly mozesz dodac do ETL job lub uruchamiac osobno. Wyniki walidacji sa widoczne w Glue Console i CloudWatch. Ustaw alert na naruszenie reguly - lepiej zatrzymac pipeline niz zaladowac brudne dane do hurtowni.

Zaawansowany

Schema Registry dla danych streamingowych

Glue Schema Registry przechowuje i wersjonuje schematy Avro i JSON Schema uzywane przez producenty i konsumenty danych streamingowych (Kinesis, MSK/Kafka). Registry zapewnia kompatybilnosc wsteczna/przyszla miedzy wersjami schematu - producent nie moze wyslac danych niezgodnych ze schematem. Integracja z Kinesis Data Streams i MSK jest natywna - serializer/deserializer dziala transparentnie.

Zaawansowany

Partycjonowanie wyjscia dla wydajnosci

Zapisuj dane wyjsciowe ETL z partycjonowaniem po kolumnie czasu (year/month/day). Athena i Redshift Spectrum czytaja tylko potrzebne partycje, co redukuje czas i koszt zapytan o 90%+. Uzywaj formatu Parquet z kompresja Snappy - to standard w ekosystemie AWS data lake. Unikaj malych plikow (< 128 MB) - Spark domyslnie tworzy po jednym pliku na partycje RDD. Uzyj coalesce() lub repartition() aby kontrolowac liczbe plikow wyjsciowych.

Zaawansowany

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS Glue bezposrednio w konsoli AWS.

Do czego sluzy AWS Glue?

01

Budowanie data lake

Crawlery automatycznie odkrywaja dane w S3, tworza tabele w Data Catalog i umozliwiaja natychmiastowe odpytywanie przez Athena.

02

Pipelines ETL bez kodu

Glue Studio oferuje wizualny edytor ETL - przeciagnij zrodlo, dodaj transformacje i zapisz wynik do S3 lub bazy danych.

03

Przygotowanie danych do ML

Glue DataBrew pozwala czyscic i normalizowac dane bez pisania kodu - idealny dla analitykow i data scientists.

04

Migracja i integracja danych

Laduj dane z RDS, DynamoDB, Redshift, JDBC i innych zrodel do centralnego data lake w S3.

Co musisz wiedziec?

Glue Data Catalog

Centralny rejestr metadanych (bazy, tabele, schematy). Kompatybilny z Apache Hive metastore. Uzywany przez Athena, Redshift Spectrum i EMR.

Crawler

Automatycznie skanuje zrodla danych (S3, JDBC, DynamoDB), wykrywa schemat i tworzy lub aktualizuje tabele w Data Catalog.

Glue Job

Zadanie ETL napisane w Pythonie lub Scali, uruchamiane na Apache Spark. Przetwarza dane w trybie batch lub streaming.

DPU (Data Processing Unit)

Jednostka mocy obliczeniowej Glue. Kazde DPU to 4 vCPU i 16 GB RAM. Platisz za liczbe DPU pomnozona przez czas pracy zadania.

Glue Studio

Wizualny interfejs do tworzenia, uruchamiania i monitorowania zadan ETL bez pisania kodu. Generuje kod PySpark automatycznie.

Schema Registry

Rejestr schematow danych (Avro, JSON Schema). Zapewnia kompatybilnosc schematow miedzy producentami i konsumentami danych.

Architektura: Glue ETL Pipeline

Typowy pipeline ETL z AWS Glue: Crawler odkrywa schematy zrodel danych, Data Catalog przechowuje metadane, a zadania ETL (Spark) transformuja dane i laduja je do hurtowni lub data lake. Athena i Redshift Spectrum korzystaja z Data Catalog do odpytywania danych.

S3 / RDS / DynamoDB
S3 / RDS / DynamoDB Zrodla danych: pliki w S3, tabele w RDS, kolekcje w DynamoDB
skanowanie zrodel
Glue Crawler
Glue Crawler Automatyczne odkrywanie schematow, formatow i partycji w zrodlach
rejestracja schematow
Data Catalog Centralny rejestr metadanych: schematy, lokalizacje, partycje, statystyki
odczyt z katalogu
Glue ETL Job (Spark)
Glue ETL Job (Spark) Zadanie PySpark/Python: transformacje, czyszczenie, agregacje na DPU
zapis wynikow
S3 Data Lake (Parquet)
S3 Data Lake (Parquet) Przetworzone dane w formacie Parquet z partycjonowaniem po dacie
analiza danych
Athena / Redshift
Athena / Redshift Zapytania SQL na przetworzonych danych przez Data Catalog
Data Catalog jest wspoldzielony miedzy Glue, Athena, Redshift Spectrum i EMR - jeden katalog dla calego data lake.
Job Bookmarks eliminuja ponowne przetwarzanie danych - kazde uruchomienie przetwarza tylko nowe pliki/rekordy.
Glue Data Quality automatycznie waliduje dane przed zaladowaniem do hurtowni, zapobiegajac propagacji bledow.

Ile kosztuje AWS Glue?

Glue ETL Jobs

Platisz za DPU-godziny. Rozliczenie z dokladnoscia do sekundy, minimum 1 minuta.

1 DPU-godzina: ~$0.44 (standard) / ~$0.29 (Flex)

Glue Data Catalog

Pierwsze milion obiektow i milion zapytan miesiecznie za darmo. Potem platisz za przechowywanie i dostep.

Ponad Free Tier: $1.00/100k obiektow/mies.

Crawlery

Platisz za DPU-godziny pracy crawlera. Rozliczenie z dokladnoscia do sekundy, minimum 10 minut.

1 DPU-godzina crawlera: ~$0.44

Glue DataBrew

Sesje interaktywne i zadania DataBrew rozliczane za wezel-godzine.

Sesja: ~$1.00/godz., Job: ~$0.48/wezel-godz.

Przyklady AWS CLI

Uruchom crawlera

Startuje crawlera, ktory skanuje zrodlo danych i aktualizuje Data Catalog

aws glue start-crawler --name moj-crawler-s3

Wyswietl tabele w bazie Data Catalog

Lista wszystkich tabel w wybranej bazie danych Glue Data Catalog

aws glue get-tables \
 --database-name moja-baza \
 --query 'TableList[].{Name:Name,Location:StorageDescriptor.Location}' \
 --output table

Uruchom zadanie ETL

Startuje Glue Job z podanymi argumentami

aws glue start-job-run \
 --job-name moj-etl-job \
 --arguments '{"--input_path":"s3://dane-wejsciowe/","--output_path":"s3://dane-wyjsciowe/"}'

Sprawdz status zadania

Pobiera status ostatniego uruchomienia zadania Glue

aws glue get-job-runs \
 --job-name moj-etl-job \
 --max-items 1 \
 --query 'JobRuns[0].{Status:JobRunState,Start:StartedOn,DPU:AllocatedCapacity}' \
 --output table

Quiz: AWS Glue

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.

Twoj wynik: 0 / 4

1. Co to jest Glue Data Catalog?

2. Czym jest DPU w kontekscie AWS Glue?

3. Co robi Glue Crawler?

4. Ktore serwisy korzystaja z Glue Data Catalog jako metastore?

Chcesz poznac AWS Glue w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS Glue krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy