반응형

최근에 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

 

 

반응형

+ Recent posts