Amazon DEA-C01: Transformacja i przetwarzanie danych — Przewodnik do nauki

Część Amazon Data Engineer Associate DEA-C01 — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Amazon, albo rozwiąż testy na czas na ExamRoll.io.

Ta domena obejmuje usługi i wzorce AWS używane do czyszczenia, transformacji i przygotowywania danych do analityki i uczenia maszynowego na dużą skalę. Skupia się na wyborze odpowiednich zasobów obliczeniowych i narzędzi (Glue, Lambda, EMR, DataBrew) w oparciu o wolumen danych, wymagania dotyczące opóźnień i ograniczenia kosztowe. Zrozumienie limitów usług, parametrów konfiguracyjnych zadań oraz interakcji między formatami danych a katalogami jest kluczowe do budowania niezawodnych, przyrostowych potoków danych.

Zadania ETL w AWS Glue (Spark i Python shell)

Zadania Glue Spark to podstawowy wybór dla rozproszonych zadań ETL na dużą skalę: działają na zarządzanym przez AWS Glue środowisku Apache Spark, używają GlueContext i operują na typach DynamicFrame oraz Spark DataFrame. Konfiguruje się je za pomocą konsoli lub CLI, podając typ zadania „glueetl”, workerType (G.1X, G.2X, G.4X) i NumberOfWorkers; uruchamianie przez CLI:

undefined

. Używaj API DynamicFrame (

undefined

,

undefined

), gdy potrzebujesz transformacji elastycznych pod względem schematu, wbudowanych transformacji (Relationalize, Unnest) i automatycznego przetwarzania danych częściowo ustrukturyzowanych; konwertuj do Spark DataFrame za pomocą

undefined

, gdy potrzebujesz Spark SQL, bardziej wydajnych złączeń (joins) lub niestandardowych funkcji UDF.

Zadania Glue Python shell używają typu zadania „pythonshell” do lekkich zadań skryptowych i operacji na płaszczyźnie sterowania. Działają na pojedynczej jednostce DPU (1 DPU) z ograniczoną równoległością i najlepiej nadają się do prostych manipulacji na plikach, aktualizacji metadanych lub orkiestracji. Konfiguracja za pomocą

undefined

i uruchamianie przez

undefined

. Pamiętaj, że zadania Python shell mają limit 1 DPU — do dużych zbiorów danych używaj Sparka.

Zakładki (bookmarks) w zadaniach Glue umożliwiają przetwarzanie przyrostowe poprzez śledzenie wcześniej przetworzonych obiektów i partycji w S3. Włącz zakładki w konfiguracji zadania lub podczas jego uruchamiania:

undefined

. Zakładki działają dla źródeł opartych na S3 wykorzystujących wbudowane konektory; źródła JDBC domyślnie nie obsługują zakładek i wymagają niestandardowego mechanizmu watermarking lub przechowywania stanu.

Glue obsługuje teraz ExecutionClass FLEX dla zoptymalizowanych kosztowo, niepilnych zadań. Uruchom zadanie za pomocą

undefined

, aby pozwolić Glue na zaplanowanie zadania po niższym koszcie, z mniej rygorystycznymi umowami SLA dotyczącymi czasu startu. Używaj FLEX do wsadowego uzupełniania danych (backfills) i zadań niewrażliwych na opóźnienia; używaj STANDARD dla przewidywalnych opóźnień.

Kryteria decyzyjne — szybkie porównanie:

undefined

,

undefined

i transformacje Glue.

undefined

oraz

undefined

.

AWS Lambda do lekkich transformacji

Lambda jest idealna do sterowanych zdarzeniami, lekkich transformacji o niskim opóźnieniu, wyzwalanych bezpośrednio przez S3, Kinesis lub EventBridge. Typowe zastosowania to walidacja plików, ekstrakcja metadanych, konwersja małych plików z JSON na CSV lub przetwarzanie strumieniowe rekordów. Skonfiguruj pamięć i limit czasu wykonania (timeout) za pomocą

undefined

. Można ustawić Provisioned Concurrency za pomocą

undefined

, aby zminimalizować zimne starty (cold starts) w potokach strumieniowych wrażliwych na opóźnienia.

Należy pamiętać o limitach Lambda w kontekście przetwarzania danych: maksymalny czas wykonania 15 minut, 10 GB pamięci (10 240 MB) i tylko 512 MB efemerycznej przestrzeni dyskowej /tmp. W przypadku przetwarzania większych plików, należy stosować przetwarzanie łańcuchowe (dzielenie plików), przesyłać je do S3 i wywoływać zadanie Glue lub EMR, albo używać przetwarzania wieloczęściowego z AWS Step Functions. Używaj zmiennych środowiskowych do przechowywania małych konfiguracji, a polityk ról IAM do ścisłego nadawania minimalnych wymaganych uprawnień (least privilege).

Kryteria decyzyjne — kiedy wybrać Lambdę:

Amazon EMR do przetwarzania na dużą skalę

EMR to główne narzędzie do konfigurowalnego przetwarzania big data na dużą skalę (Spark, Hadoop, Presto, Flink), gdy wymagana jest kontrola na poziomie klastra, niestandardowe akcje bootstrapowe lub specjalistyczne biblioteki. Klastry tworzy się za pomocą CLI poleceniem aws emr create-cluster, wybierając opcję –instance-groups lub –instance-fleets. Floty instancji (Instance fleets) zapewniają elastyczne kombinacje typów instancji oraz połączenia instancji spot i na żądanie (On-Demand); grupy instancji (instance groups) są prostsze i składają się z grup o stałym rozmiarze.

Wzorce klastrów EMR do rozważenia:

Przykłady konfiguracji:

Używaj EMR, gdy potrzebujesz pełnej kontroli nad komponentami ekosystemu Hadoop, niestandardowych skryptów bootstrapowych lub trwałego HDFS dla danych pośrednich; w przeciwnym razie Glue Spark jest prostszy w przypadku zarządzanego ETL opartego na Sparku, który integruje się z Glue Data Catalog.

Glue DataBrew i transformacje wizualne

Glue DataBrew to wizualne narzędzie typu no-code/low-code do profilowania, czyszczenia i transformacji danych, skierowane do analityków danych i inżynierów pracujących interaktywnie. Utwórz zbiór danych z S3 lub Glue Catalog, zbuduj przepis (recipe) transformacji w konsoli, wyświetl podgląd na próbce i uruchom zadania, aby zastosować przepisy na dużą skalę. Zadania DataBrew można harmonogramować lub uruchamiać za pomocą CLI poleceniem aws databrew start-job-run –name my-databrew-job.

DataBrew jest zoptymalizowany pod kątem zadań przygotowania danych, takich jak standaryzacja, deduplikacja, konwersja typów i transformacje na poziomie kolumn za pomocą wbudowanych funkcji. Integruje się z Glue Catalog i zapisuje wyniki do S3. Wybierz DataBrew, gdy użytkownicy biznesowi potrzebują samoobsługowego czyszczenia i szybkiego profilowania; w przypadku ciężkiej logiki transformacji, złożonych operacji join lub bardzo dużych zbiorów danych, preferuj Glue Spark lub EMR.

Porównanie transformacji wizualnych i opartych na kodzie:

Częste pułapki i kryteria decyzyjne

Praktyczny problem: Scenariusz użycia

Firma AcmeRetail przetwarza codzienne nocne pliki Parquet z danymi o ścieżkach kliknięć (clickstream) do ujednoliconej tabeli aktywności klientów i chce wprowadzić przetwarzanie przyrostowe, aby uniknąć ponownego przetwarzania danych z wielu miesięcy, jednocześnie utrzymując niskie koszty dla niepilnego uzupełniania danych historycznych.

  1. Użyj układu partycjonowanego w S3 (year=/month=/day=) i zarejestruj zbiór danych w Glue Data Catalog.
  2. Utwórz zadanie Glue Spark (glueetl), które odczytuje dane za pomocą

undefined

w celu zapewnienia elastyczności schematu, stosuje mapowania, konwertuje do DataFrame dla złożonych operacji join i zapisuje z powrotem do S3 w formie partycjonowanego Parquet. 3. Włącz zakładki zadań Glue (job-bookmark-enable) dla codziennych nocnych uruchomień, aby przetwarzać tylko nowe partycje; dla źródeł wzbogacających dane z JDBC, zaimplementuj kolumny znaku wodnego (watermark) przechowywane w DynamoDB, aby śledzić maksymalny przetworzony znacznik czasu. 4. Dla rutynowych nocnych uruchomień użyj ExecutionClass=STANDARD; dla niepilnego, historycznego ponownego przetwarzania, przesyłaj uruchomienia z –execution-class FLEX, aby zaoszczędzić na kosztach. 5. Monitoruj za pomocą metryk CloudWatch i ustawiaj alarmy na wypadek awarii zadań; dla bardzo dużej skali lub niestandardowych bibliotek, rozważ użycie tymczasowych klastrów EMR, które zapisują wyniki pośrednie do S3 i kończą pracę automatycznie.

Uzasadnienie: To podejście wykorzystuje zarządzany Spark w Glue do skalowalnych transformacji i DynamicFrames dla danych częściowo ustrukturyzowanych, używa zakładek zadań do przyrostowego przetwarzania danych z S3 oraz wykorzystuje FLEX do redukcji kosztów uzupełniania danych historycznych — zachowując optymalizację kosztów, niezawodność i prostotę operacyjną.


Katalogowanie danych i zarządzanie metadanymi · Wszystkie domeny · Orkiestracja danych i zarządzanie przepływami pracy

Przećwicz te pytania → · Testy na czas na ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Zdaj egzamin →

Przeglądaj Amazon →

Related guides

Dostęp all-in-one

Jedna subskrypcja. Każdy egzamin.

Każdy plan odblokowuje nieograniczone wyszukiwanie odpowiedzi, testy praktyczne, wyjaśnienia AI i pełną bibliotekę zasobów — w ponad 20 językach.

Miesięczny
24.87
Just €0.83/day
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

Najlepsza wartość
12 miesięcy
179.87
Just €0.49/daySave 40%
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

✓ Plan darmowy w zestawie · ✓ Anuluj w dowolnym momencie · ✓ Wszystkie plany odblokowują pełny produkt