Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 종류
- 데브코스
- Django
- S3
- 자료구조
- 컴퓨터 네트워크
- Docker
- 가상환경
- airflow.cfg
- 데이터 파이프라인
- sql
- AWS
- 데이터엔지니어링
- airflow
- dockerfile
- 정리
- TIL
- 데이터 웨어하우스
- 데이터 엔지니어링
- PYTHON
- 컴퓨터네트워크
- http
- Go
- HADOOP
- linux
- redshift
- TCP
- 운영체제
- 파이썬
- 데이터베이스
Archives
- Today
- Total
홍카나의 공부방
[Airflow] Task Decorator 간단 사용법 본문
from airflow import DAG
import pendulum
from airflow.decorators import task
with DAG(
dag_id="example_python_operator",
schedule="0 9 * * *",
start_date=pendulum.datetime(2023, 11, 1, tz="Asia/Seoul"),
catchup=False,
tags=["example"],
) as dag:
# [START howto_operator_python]
@task(task_id="python_task_1")
def print_context(some_input):
print(some_input)
python_task_1 = print_context("task decorator 실행")
airflow의 example_python_operator DAG에 예시가 더 자세히 나와있다.
@task를 붙여주고 파이썬 함수를 담고 있는 변수 명을 task_id로 지정해주면 끝
# [START howto_operator_python]
@task(task_id="print_the_context")
def print_context(ds=None, **kwargs):
"""Print the Airflow context and ds variable from the context."""
pprint(kwargs)
print(ds)
return "Whatever you return gets printed in the logs"
run_this = print_context()
이런 식으로 파이썬 함수를 담고있는 변수와, task_id를 다르게 지정할 수는 있겠으나
혼동이 생길 수 있으므로, 둘을 같게 지정하는 것도 하나의 팁.
task 데코레이터 사용의 장점으로는 코드가 좀 더 간결해진다는 것이다.
반응형
'Data Engineering > Airflow' 카테고리의 다른 글
[Airflow] python airflow library 설치하기 (0) | 2023.12.16 |
---|---|
[Airflow] python operator - 템플릿 사용이 가능한 파라미터 (0) | 2023.11.19 |
[Airflow] Python 외부 함수 가져와서 사용하기 (0) | 2023.11.16 |
[Airflow] 쉘 스크립트(Shell) 실행하기 (8) | 2023.11.12 |
[Airflow] Cron Schedule 정리 (1) | 2023.11.04 |