Definiowanie BashOperatora za pomocą @task.bash
Zadanie Bash pozwala określić dowolne polecenie powłoki lub skrypt i dodać je do przepływu pracy w Airflow. To świetny punkt wyjścia do wdrożenia Airflow w twoim środowisku.
Do tej pory ręcznie uruchamiasz skrypty czyszczące dane (za pomocą skryptu cleanup.sh) przed przekazaniem ich współpracownikom z grupy Data Analytics. W miarę jak przybywa ci takich zadań, zaczynasz dostrzegać, że coraz trudniej jest nadążyć z ręcznym uruchamianiem wszystkiego – nie mówiąc już o obsłudze błędów czy ponownych próbach. Chcesz wdrożyć prosty skrypt jako operator Airflow.
Obiekty dag i task Airflow zostały już zaimportowane.
To ćwiczenie jest częścią kursu
Wprowadzenie do Apache Airflow w Pythonie
Instrukcje do ćwiczenia
- Użyj dekoratora
@task.bash, aby zdefiniować zadanie. - Jako nazwę metody podaj
cleanup_task. - Spraw, żeby zadanie zwracało
cleanup.sh.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
@dag(
dag_id='analytics_dag',
start_date=datetime(2026,1,1)
)
def analytics_dag():
# Specify a Bash task
@____
def ____():
return '____'
# Run the task
cleanup_task()
analytics_dag()