Airflow

Airflow 관련 기타 Q&A

터칭 데이터 2023. 12. 13. 19:22

 

PostgresHook의 autocommit 파라미터

Default 값은 False로 주어짐


이 경우 BEGIN은 아무런 영향이 없음 (no-operation)

 

 

 

 

 

 

 

DAG에서 task를 어느 정도로 분리하는 것이 좋을까?


task를 많이 만들면 전체 DAG이 실행되는데 오래 걸리고 스케줄러에 부하가 감


task를 너무 적게 만들면 모듈화가 안되고 실패시 재실행을 시간이 오래 걸림


오래 걸리는 DAG이라는 실패시 재실행이 쉽게 다수의 task로 나누는 것이 좋음

 

task를 적절히 나누면 실패한 부분만 재실행할 수 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

Airflow의 Variable 관리 vs. 코드 관리


장점: 코드 푸시의 필요성이 없음


단점: 관리나 테스트가 안되어서 사고로 이어질 가능성이 있음

 

굉장히 중요한 SQL이라면 Variables로 빼는 것을 권장치 않고 굳이 사용하겠다면 테스트를 거친 후 Variable로 관리해야 함

 

조금 번거롭더라도 코드로 관리하면 Github의 repo 등에 기록되어 문제가 발생했을 시 Github history로 문제를 해결하기 쉬움

 

 

 

 

airflow.cfg


1. DAGs 폴더는 어디에 지정되는가?


2. DAGs 폴더에 새로운 Dag를 만들면 언제 실제로 Airflow 시스템에서 이를 알게 되나? (5분 마다) 이 스캔 주기를 결정해주는 키의 이름이 무엇인가?


3. 이 파일에서 Airflow를 API 형태로 외부에서 조작하고 싶다면 어느 섹션을 변경해야하는가?


4. Variable에서 변수의 값이 encrypted가 되려면 변수의 이름에 어떤 단어들이 들어가야 하는데 이 단어들은 무엇일까? :)


5. 이 환경 설정 파일이 수정되었다면 이를 실제로 반영하기 위해서 해야 하는 일은?


6. Metadata DB의 내용을 암호화하는데 사용되는 키는 무엇인가?

 

이상 6가지는 숙제로 제출해주세요.

 

참고 https://hongcana.tistory.com/120