Wprowadzenie do Apache Airflow

Wprowadzenie do Apache Airflow w Pythonie

Mike Metzger

Data Engineer

Czym jest przepływ pracy?

  • Przepływ pracy – zbiór kroków realizujących określony proces inżynierii danych

 

  • Przykład: pobieranie plików, kopiowanie danych, filtrowanie informacji i zapis do bazy danych

Diagram przepływu pracy z sekwencyjnymi krokami od pobierania plików do zapisu do bazy danych

Wprowadzenie do Apache Airflow w Pythonie

Czym jest Airflow?

Airflow – platforma do orkiestracji przepływów pracy:

  • Tworzenie
  • Planowanie
  • Monitorowanie

 

Logo Apache Airflow

   

Ikony reprezentujące tworzenie, planowanie i monitorowanie przepływów pracy

Wprowadzenie do Apache Airflow w Pythonie

Czym jest Airflow?

  • Możliwość implementacji programów w dowolnym języku, ale przepływy pracy są pisane w Pythonie
  • Implementuje przepływy pracy jako Dagi
  • Dostęp przez interfejs webowy, kod, wiersz poleceń lub REST API
  • Zastosowanie: pipeline'y ETL, przepływy ML, automatyzacja itp.

 

Logo Apache Airflow

Wprowadzenie do Apache Airflow w Pythonie

Krótkie wprowadzenie do Dagów

Dag – model reprezentujący wszystko, co jest potrzebne do wykonania przepływu pracy.

  • Składa się z zadań i ich zależności
  • Tworzony z różnymi atrybutami: nazwa, e-mail, właściciel

Przykładowy Dag z zadaniami połączonymi strzałkami zależności

Wprowadzenie do Apache Airflow w Pythonie

Komponenty Airflow

  • Scheduler – wyzwala zaplanowane przepływy pracy, przesyła zadania
  • API Server – zapewnia bezpieczny dostęp do platformy Airflow
  • Dag processor – odczytywany przez scheduler w celu określenia zadań i czasu ich uruchomienia
  • Metadata database – przechowuje stan Dagów i zadań

Diagram komponentów Airflow: scheduler, API server, Dag processor i metadata database

Wprowadzenie do Apache Airflow w Pythonie

Uruchamianie przepływu pracy w interfejsie Airflow

Widok Dagów w Airflow z dwoma załadowanymi Dagami i opcjami interakcji

Wprowadzenie do Apache Airflow w Pythonie

Uruchamianie przepływu pracy w interfejsie Airflow

Widok Dagów w Airflow z wyróżnionym przyciskiem uruchamiania

Wprowadzenie do Apache Airflow w Pythonie

Uruchamianie przepływu pracy w interfejsie Airflow

Okno uruchamiania Daga z domyślnymi opcjami i przyciskiem Trigger

Wprowadzenie do Apache Airflow w Pythonie

Uruchamianie przepływu pracy w interfejsie Airflow

Widok Dagów w Airflow z ostatnim uruchomieniem oznaczonym zielonym znacznikiem

Wprowadzenie do Apache Airflow w Pythonie

Uruchamianie przepływu pracy w interfejsie Airflow

Widok zadań uruchomienia Daga z listą szczegółów zadań, np. generate_random_number

Wprowadzenie do Apache Airflow w Pythonie

Czas na ćwiczenia!

Wprowadzenie do Apache Airflow w Pythonie

Preparing Video For Download...