decorator 3

[Airflow] Task Group

이번 포스팅에서는 Task들을 모아서 관리할 수 있는 Task Group에 대해 알아보겠습니다. 하나의 dag에 task가 많다면, 관련있는 task끼리 그룹화하여 관리하도록 지원해주는 기능입니다. 1. Task Group 의 개념 Task들의 모음입니다. UI Graph 탭에서 Task들을 Group화하여 보여줍니다.(https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/dags.html#taskgroups) DAGs — Airflow Documentation airflow.apache.org 각 task가 그룹화된 섹션을 열어보면, inner_section이 또 있습니다. 즉, task 그룹 안에 또 다른 task 그룹도 계층적으로 ..

[Airflow] Task 분기처리하기 with task.branch

이번 포스팅에서는 데커레이터인 task.branch 를 이용해서 task 분기처리를 해보려고 합니다. 코드를 바로 살펴보겠습니다. from airflow.decorators import task @task.branch(task_id='python_branch_task') def select_random(): import random item_lst = ['A','B','C'] selected_item = random.choice(item_lst) if selected_item == 'A': return 'task a' elif selected_item in ['B','C']: return ['task_b','task_c'] select_random() >> [task_a,task_b,task_c] Bra..

[Airflow] @task 데코레이터 사용하기

1. 파이썬 데커레이터 Decorator는 장식하고 꾸미는 것을 의미하는데, 함수를 장식하는 것이라고 이해하시면 됩니다. 원래의 함수를 감싸서(Wrapping) 바깥에 추가 기능을 덧붙이는 방법입니다. ※ 함수를 감싼다는 것이 어떤 의미일까요? 파이썬은 함수 안에 함수를 선언하는 것이 가능하고 함수의 인자로 함수를 전달하는 것이 가능하며 함수 자체를 리턴하는 것이 가능합니다. def outer_func(target_func): # 내부 함수 정의 def inner_func(): print("target 함수 실행 전입니다.") target_func() print("target 함수 실행 후 입니다.") # 내부 함수 리턴 return inner_func 예시를 한 번 들어봅시다. 파이썬 데코레이터를 사용..

반응형