코드 실행 도중에, 특정 Spark 액션에 대해서 다음과 같은 메세지와 함께 실행이 종료되는 오류가 있었다.
[에러 메세지]
py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent failure: Lost task 0.0 in stage 0.0 (TID 0) (DESKTOP-642PDKR.mshome.net executor driver): java.io.IOException: Cannot run program "python3": CreateProcess error=2
[해결 방법]
메세지를 읽어보니까 "python3" 명령어 실행 시에 문제가 있는 것 같아 터미널에서 확인해봤더니 컴퓨터에 python2은 없이 python3 버전만 세팅되어 있어서 "python" 명령어로 python3가 실행되어 "python3" 명령어는 실행되지 않아서 생기는 문제였다.
따라서, mklink 명령어를 통해서 python3 명령어 실행 시 python3가 정상적으로 실행되도록 링크를 생성해주었다.
# python 명령어 치면 python2가 실행되게 하기
mklink C:\Windows\python.exe [python2 경로]
# python3 명령어 치면 python3가 실행되게 하기
mklink C:\Windows\python3.exe [python3 경로]
spark-submit을 했을 때, 정상적으로 실행되는 것을 확인했다.
'Study > Data Engineering' 카테고리의 다른 글
[Apache Spark] Dataframe의 Schema 지정하기 (0) | 2023.03.17 |
---|---|
[Apache Spark] 로컬 환경에서 Apache Spark 설치하기 (0) | 2023.02.14 |
[데이터 파이프라인 핵심 가이드] 2. 최신 데이터 인프라 (0) | 2023.02.08 |
[airflow] Docker에서 airflow 환경 설정 및 실행하기 (1) | 2023.02.06 |
[요리고 Airflow 도입기] 0. Airflow 사용을 결정한 이유 (0) | 2023.02.01 |