최근에 airflow 웹상에 dag들이 올라오지 않아 고생한 부분을 정리하고자 합니다. 결론적으로 아래 발생한 현상은 모두 인코딩 문제로 간단하게? 해결할 수 있었습니다.
dag가 웹에 안보이는 케이스
1. 한글주석
아래와 같이 dag 파일 내에 한글 주석을 넣으면 dag가 웹상에 올라오지 않았습니다.
2. 스케쥴링
분과 시를 설정할 경우에는 dag들이 웹상에 잘 나왔지만 년월일 스케쥴링시 dag가 웹상에 올라오지 않았습니다.
특히 @daily는 가능하나 @monthly 및 @hourly등은 dag가 올라오지 않았습니다.
스케쥴링 에러를 확인하니 아래와 같은 에러가 계속해서 발생했습니다.
airflow unicodeencodeerror: 'charmap' codec can't encode characters in position 7-8: character maps to <undefined>
해결방법
아마 위의 에러는 mysql등 다른 디비와 연결하며 발생했을거라고 생각됩니다.
airflow.cfg 파일 sql_alchemy_conn에서 airflow뒤에 ?charset=utf8 추가 후 airflow 재시작하게 되면 위에 두가지 케이스일 때 dag가 정상적으로 올라오는 것을 볼 수 있습니다.
sql_alchemy_conn = mysql://root:password@127.0.0.1:3306/airflow?charset=utf8
'데이터엔지니어 > airflow' 카테고리의 다른 글
[airflow] No module named 'MySQLdb' 해결법 (0) | 2023.01.30 |
---|---|
[airflow] The scheduler does not appear to be running. Last heartbeat was received 3 hours ago. (0) | 2022.11.12 |
[airflow] airflow example dag 삭제 하기 (0) | 2022.10.28 |
[airflow] anaconda를 통한 airflow설치 (0) | 2022.10.28 |