본문 바로가기

Study/Data Engineering

[Apache Spark] "Python3" 명령어 실행 불가로 인한 오류

코드 실행 도중에, 특정 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을 했을 때, 정상적으로 실행되는 것을 확인했다.