airflow 3로 되면서 2.x대에 지원 중단된 패키지가 많네요..ㅠ
20
76 câu hỏi đã được viết

airflow 3.x 기준에는 아래와 같이 써야할거같은데 코드가 많이 달라질까요.. 오픈소스라 매달 버전 업데이트를 하면서 코드까지 바뀌니 저같은 주니어는 따라가기 벅차네요..ㅠ
SimpleHttpOperator -> HttpOperator
PostgresOperator -> SQLExecuteQueryOperator
Câu trả lời 1
1
맞습니다 ㅠㅠ Airflow 3.x로 오면서 예전 2.x 강의/블로그 코드 중에 deprecated 되거나 import path가 바뀐 것들이 꽤 있습니다.
말씀하신 방향이 맞습니다.
SimpleHttpOperator -> HttpOperator
PostgresOperator -> SQLExecuteQueryOperator다만 코드 구조가 완전히 달라지는 수준은 아니고, 대부분은 Operator 이름과 import 경로, 일부 파라미터 이름을 바꾸는 정도로 대응 가능합니다.
예를 들어 Postgres 쪽은 예전에는 이런 식이었다면:
from airflow.providers.postgres.operators.postgres import PostgresOperator
task = PostgresOperator(
task_id="run_sql",
postgres_conn_id="postgres_default",
sql="sql/my_query.sql",
)Airflow 3.x 기준으로는 보통 이렇게 바꿉니다.
from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator
task = SQLExecuteQueryOperator(
task_id="run_sql",
conn_id="postgres_default",
sql="sql/my_query.sql",
)핵심 차이는 postgres_conn_id가 아니라 더 일반화된 conn_id를 쓴다는 점입니다. SQLExecuteQueryOperator는 Postgres 전용이라기보다 여러 SQL 계열 DB에서 공통으로 쓰기 위한 Operator라고 보시면 됩니다.
HTTP도 비슷합니다.
SimpleHttpOperator -> HttpOperator이런 변경은 Airflow가 특정 DB/서비스 전용 Operator를 줄이고, provider/common 계열 Operator로 정리해가는 흐름이라고 보시면 됩니다.
주니어 입장에서는 정말 따라가기 힘든 게 맞습니다. Airflow는 특히 core 버전과 provider 패키지 버전이 같이 움직이다 보니, 강의 코드와 현재 설치 버전이 달라지면 import부터 막히는 경우가 많습니다.
그래서 실무에서는 보통 이렇게 접근하시면 좋습니다.
강의는 전체 구조와 개념을 이해하는 용도로 보기
실제 코드는 현재 설치된 Airflow/provider 문서를 기준으로 import 확인하기
Operator가 deprecated 되면 “대체 Operator가 무엇인지”만 확인해서 교체하기
DAG 구조, task dependency, connection, schedule 개념은 거의 그대로 가져가기
즉, 코드 한두 줄이 바뀌었다고 강의 내용이 틀어진 것은 아니고, Airflow 생태계가 버전업되면서 표준 Operator 이름이 정리된 것으로 보시면 됩니다.
말씀 주신 부분은 중요한 변경점이라 강의 공지나 보충 자료에 Airflow 3.x 기준 migration 예시를 추가해두겠습니다. 좋은 제보 감사합니다.
0
3.x 기준 마이그레이션 예시 너무너무 감사합니다 mini0나 gcs 2개를 동시에 붙이는 작업을 해야되는데 예시 강의가 나오면 참조하여 완성 해보겠습니다 항상 감사합니다!
강의내용관련
0
2
0
dags 디렉토리안에 sql디렉토리 넣고 .sql 파일로 관리해도 되나요?
0
19
2
apache airflow 설치하기 질문
0
95
2
postgres_loader DAG 에러
1
60
3
Queue 강의를 듣고 난 후에 대한 질의
0
60
1
공식 compose 내 postgres db 설치시
0
81
2
postgres_loader의 apache-airflow-providers-postgres 버전 호환성
1
192
2
Airflow Limitation 강의에 대한 질문
1
96
1
airflow와 postgres간의 connection 오류
1
1154
4
from airflow.sensors.sql import SqlSensor에 대해 질문 있습니다.
1
258
1
메타데이터 의미
1
372
2
병렬처리 질문드립니다.
1
512
2
connection 정보 이전 방법 질문드립니다.
1
279
1
PostgresOperator로 대량의 데이터 업로드 방법 질문드립니다.
1
404
1
강의 할인 프로모션 질문입니다..
1
286
1
hook 질문드립니다.
1
352
1
section 2-hook 강의 질문
1
297
1
airflow tasks test 질문드립니다!
1
511
3
airflow docker compose 질문드립니다.
1
421
1
섹션1 apache airflow 설치하기 질문
1
468
1
my_first_dag.py 파일 질문 입니다
1
404
1
Docker 에서 airflow 사용시 질문드립니다
1
967
2
airflow tasks test error
2
579
1
블로그에 글을 올려도 되나요?
0
492
2

