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
'Airflow' 카테고리의 다른 글
| Airflow - Yahoo Finance API Incremental Update (0) | 2023.12.14 |
|---|---|
| Airflow - Yahoo Finance API Full Refresh (0) | 2023.12.13 |
| Airflow - 커맨드 라인에서 Variables와 Connections 세팅 (0) | 2023.12.13 |
| Airflow - Web UI로 Variables와 Connections 세팅 (0) | 2023.12.13 |
| Airflow - Redshift Connection 설정 & Decorators (0) | 2023.12.13 |