Začněte nyníZačněte zdarma

Definuj @task.branch

Po tom, co ses naučil/a o síle podmínkové logiky v Airflow, si chceš vyzkoušet dekorátor @task.branch. Cílem je spustit jiný kód v případě, že aktuální datum spuštění představuje nový rok (tj. 2026 místo 2025).

DAG je již definován spolu s potřebnými úlohami. Tvým úkolem je implementovat @task.branch.

Toto cvičení je součástí kurzu

Úvod do Apache Airflow v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Přidej do year_check příslušné Airflow šablonové proměnné pro datum jako parametry, aby bylo možné porovnat aktuální a předchozí rok spuštění.
  • Přiřaď current_year a previous_year tak, že z každého datového parametru vyřízneš prvních 5 znaků.
  • Nastav závislosti pro current_year_task a new_year_task.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

@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
Upravit a spustit kód