Amazon DEA-C01: Orkiestracja danych i zarządzanie przepływami pracy — 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.

Orkiestracja i zarządzanie przepływami pracy są kluczowe dla budowania niezawodnych i łatwych w utrzymaniu platform danych: koordynują zadania typu extract-transform-load (ETL), zarządzają zależnościami, obsługują awarie i integrują procesy sterowane zdarzeniami. Ta domena obejmuje zarządzane opcje AWS do wsadowego ETL, złożonych grafów DAG, bezserwerowych maszyn stanów i harmonogramowania zdarzeń — każda z inną semantyką wykonania, trwałością i kompromisami w skalowaniu. Zrozumienie, kiedy używać AWS Glue Workflows, MWAA, Step Functions czy EventBridge Scheduler — oraz jak konfigurować obsługę błędów i obserwowalność — jest krytyczne dla przewidywalnych potoków danych i kontroli kosztów operacyjnych.

AWS Glue Workflows i wyzwalacze (triggers)

AWS Glue Workflows grupują zadania (jobs), crawlery i wyzwalacze (triggers) Glue w graf zależności i pozwalają na uruchamianie skoordynowanych procesów ETL. Przepływy pracy tworzy się za pomocą konsoli lub CLI (aws glue create-workflow –name MyWorkflow). Wyzwalacze są dołączane do przepływów pracy i występują w trzech typach: zaplanowane (scheduled), na żądanie (on-demand) i warunkowe (conditional). Przykład utworzenia zaplanowanego wyzwalacza za pomocą CLI:

Wyzwalacze warunkowe używają predykatu (Predicate), który odwołuje się do nazwy zadania i jego stanu (SUCCEEDED, FAILED). Przykładowy predykat w formacie JSON: {“Logical”:“AND”,“Conditions”:[{“JobName”:“prev-job”,“State”:“SUCCEEDED”}]}. Domyślnie warunkowe wyzwalacze Glue uruchamiają się po pomyślnym zakończeniu zadania; aby obsłużyć awarie, skonfiguruj warunki ze stanem State=FAILED lub utwórz jawny wyzwalacz FAILED, aby kierować błędy do zadań naprawczych lub alertów SNS.

Wzorce operacyjne i kryteria decyzyjne:

Obsługa błędów: dodaj wyzwalacze FAILED, emituj metryki CloudWatch dotyczące powodzenia/niepowodzenia zadania i przesyłaj błędy do kolejki martwych listów (dead-letter queue) SQS/SNS za pośrednictwem Lambda w celu automatycznych ponowień i analizy.

Amazon MWAA (Managed Airflow) dla złożonych grafów DAG

MWAA zapewnia zarządzane środowisko Apache Airflow do wyrażania złożonych grafów DAG, zależności między zadaniami, sensorów i niestandardowych operatorów. Środowiska tworzy się za pomocą aws mwaa create-environment –name MyEnv –airflow-configuration-options Key=core.executor,Value=CeleryExecutor, podając ścieżkę S3 do plików DAG i rolę wykonawczą. Ważne szczegóły dotyczące doboru rozmiaru i sieci:

Kryteria decyzyjne:

Obsługa błędów w Airflow: używaj ponowień zadań (retries) i opóźnień ponowień (retry_delay) w definicjach DAG, ustaw on_failure_callback, aby powiadamiać lub przesyłać błędy do kolejki martwych listów SQS, i skonfiguruj obsługę SLA na poziomie zadania, aby wyzwalać naprawcze grafy DAG.

AWS Step Functions do bezserwerowej orkiestracji

Step Functions zapewniają stanową orkiestrację za pomocą opartego na JSON języka Amazon States Language i szeroko integrują się z usługami AWS. Wybierz między przepływami pracy typu Standard i Express:

Przypadki użycia i kryteria decyzyjne:

Obsługa błędów i wzorce integracji:

EventBridge Scheduler i potoki sterowane zdarzeniami

EventBridge oferuje zaawansowany routing zdarzeń oraz funkcję Scheduler do zadań typu cron i jednorazowych. Twórz reguły oparte na harmonogramie za pomocą aws events put-rule --name dailyRule --schedule-expression "cron(0 2 * * ? *)" i dołączaj cele (targets) za pomocą aws events put-targets. Do routingu opartego na zdarzeniach (wzorcu) użyj put-rule z --event-pattern '{"source":["aws.s3"],"detail-type":["Object Created"]}', aby kierować zdarzenia z S3 do Lambda, Step Functions lub SQS.

Kluczowe punkty operacyjne:

Obsługa błędów: skonfiguruj specyficzne dla celu próby ponowienia i backoff, używaj DLQ dla nieudanych dostarczeń i łącz EventBridge ze Step Functions w celu obsługi złożonych błędów i transakcji kompensujących.

Częste pułapki i kryteria decyzyjne

Praktyczny problem: Godzinny ETL z nagłymi wzrostami obciążenia w Acme Retail

Firma Acme Retail potrzebuje godzinnego procesu ETL, który uruchamia zadania Glue do pozyskiwania surowych danych (ingestion), złożony DAG wzbogacający dane z operatorami w Pythonie oraz krótkotrwałą agregację SKU, która musi reagować na zdarzenia o wysokiej częstotliwości dotyczące stanów magazynowych. Wymagają niezawodnych mechanizmów ponawiania prób i przechwytywania błędów.

  1. Użyj EventBridge do uruchamiania co godzinę reguły harmonogramu, która wywołuje przepływ pracy Step Functions Standard w celu koordynacji całego potoku.
  2. W Step Functions orkiestruj długo działające zadania Glue (StartJobRun) z obsługą Retry i Catch; w przypadku niepowodzenia skieruj zadanie do kolejki SQS DLQ i naprawczej funkcji Lambda za pomocą bloku Catch.
  3. Wdróż złożone DAGi wzbogacające w MWAA i wywołuj je ze Step Functions za pomocą Airflow REST API lub umieszczając komunikaty o uruchomieniu DAG w SQS; dobierz rozmiar workerów MWAA za pomocą ustawień celery.worker_autoscale na podstawie oczekiwanej współbieżności i monitoruj metryki CloudWatch w celu dostosowania.
  4. Dla zdarzeń o wysokiej częstotliwości dotyczących stanów magazynowych użyj reguł event-pattern w EventBridge, aby przekazywać je do przepływu Express Step Function lub funkcji Lambda z kluczami idempotentności i kolejką DLQ opartą na SQS w celu absorbowania nagłych wzrostów obciążenia.
  5. Zaimplementuj scentralizowany monitoring (CloudWatch Logs/Metrics, X-Ray dla Step Functions) i ustaw alerty na wzrost liczby wiadomości w DLQ oraz wyczerpanie limitu ponownych prób dla zadań.

Uzasadnienie: Ten projekt wykorzystuje odpowiednie narzędzie do każdego wymagania — Step Functions do trwałej orkiestracji międzyusługowej i obsługi błędów, MWAA do złożonej logiki DAG, Glue do zarządzanego ETL oraz EventBridge do harmonogramowania i obsługi zdarzeń reaktywnych. Wymusza idempotentność i stosowanie DLQ w celu tworzenia odpornych i obserwowalnych potoków, zgodnie z najlepszymi praktykami AWS.


Transformacja i przetwarzanie danych · Wszystkie domeny · Zapytania i analityka danych

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