Aan de slagGa gratis aan de slag

Definieer een @task.branch

Na het leren over de kracht van conditionele logica in Airflow wil je de @task.branch-decorator uitproberen. Je wilt een ander pad uitvoeren als de huidige uitvoeringsdatum een nieuw jaar aangeeft (bijv. 2026 vs 2025).

De Dag is al voor je gedefinieerd, samen met de betreffende taken. Je huidige taak is om de @task.branch te implementeren.

Deze oefening maakt deel uit van de cursus

Introductie tot Apache Airflow in Python

Cursus bekijken

Oefeninstructies

  • Voeg de juiste Airflow-datumsjabloonvariabelen toe als parameters aan year_check om het huidige en vorige uitvoeringsjaar te vergelijken.
  • Ken current_year en previous_year toe door de eerste 4 tekens van elke datumparameter te slicen.
  • Stel de afhankelijkheden in op current_year_task en new_year_task.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

@dag(start_date=datetime(2026,5,1), schedule='@monthly')
def process_yearly_expenses():
  # Create a function to determine if years are different
  @task.branch
  def year_check(____, ____):
      current_year = int(____[0:4])
      previous_year = int(____[0:4])
      if current_year == previous_year:
          return 'current_year_task'
      else:
          return 'new_year_task'

  # Define the dependencies
  branch_task __ current_year_task
  ____ >> new_year_task
Code bewerken en uitvoeren