IniziaInizia gratis

Definisci un BranchPythonOperator

Dopo aver scoperto la potenza della logica condizionale in Airflow, vuoi mettere alla prova il BranchPythonOperator. Vuoi eseguire un percorso di codice diverso se la data di esecuzione corrente rappresenta un nuovo anno (es. 2020 vs 2019).

Il DAG è già definito, insieme alle attività interessate. Il tuo compito ora è implementare il BranchPythonOperator.

Questo esercizio fa parte del corso

Introduzione ad Apache Airflow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Nella funzione year_check, configura il codice per determinare se l'anno della data di esecuzione corrente è diverso dalla precedente data di esecuzione (cioè, se l'anno è diverso tra le opportune variabili template di Airflow).
  • Completa il BranchPythonOperator aggiungendo gli argomenti appropriati.
  • Imposta le dipendenze su current_year_task e new_year_task.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create a function to determine if years are different
def year_check(**kwargs):
    current_year = int(kwargs[____][0:4])
    previous_year = int(____[____][0:4])
    if current_year == previous_year:
        return 'current_year_task'
    else:
        return 'new_year_task'

# Define the BranchPythonOperator
branch_task = BranchPythonOperator(task_id='branch_task', dag=branch_dag,
                                   python_callable=____, ____=True)
# Define the dependencies
branch_task ____ current_year_task
branch_task ____ new_year_task
Modifica ed esegui il codice