상황
- spark-submit시(master=yarn, deploy-mode=cluster) parameter를 한글로 주는 경우 한글이 깨지는 현상이 발생한다.
-Dfile.encoding=utf-8
의 옵션을 driver, executor에 적용 시UnicodeEncodeError
가 발생한다.
해결 과정
- spark 내에서 환경변수를 확인 시
'LANG': 'ko_KR.eucKR'
와 같은 결과를 확인하였다. - utf-8 인코딩이 적용되지 않아 한글이 깨진 것으로 보였다.
- yarn을 이용할 경우
spark.yarn.appMasterEnv.[EnvironmentVariableName]
옵션을 이용하여 환경변수를 설정 할 수 있다. - appMasterEnv 옵션을 이용하여 환경변수 LANG을 변경한다.
결론
- spark-submit 시에
--conf spark.yarn.appMasterEnv.LANG=ko_KR.UTF-8
옵션을 추가한다. - yarn cluster 모드 시에는
spark-env.sh
에 적용 시킨 환경변수들이 적용이 되지 않을 수 있다. - 추후 모든 yarn cluster 모드 작업에 LANG옵션을 추가하고 싶을 경우는
spark-defaults.conf
파일에 해당 옵션을 추가한다.
참고
반응형
'기타' 카테고리의 다른 글
[Hadoop] 특수문자(wildcard)가 들어간 경로 삭제 (0) | 2020.06.09 |
---|---|
[Hadoop] Distcp 시 Check-sum mismatch 현상 (0) | 2020.06.08 |
MySQL database character set 변경 (0) | 2020.06.03 |
Airflow Exception: Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql (0) | 2020.06.03 |
Excel에 ODBC 연동하기(Mac) (1) | 2020.06.03 |