Windows의 독립 실행 형 스파크 에서 동일한 문제가 발생 했습니다 . 내 수정 버전은 다음과 같습니다. 환경 변수를 다음과 같이 설정했습니다.
PYSPARK_SUBMIT_ARGS="pyspark-shell"
PYSPARK_DRIVER_PYTHON=jupyter
PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
이 설정으로 pyspark에서 Action을 실행하고 다음 예외가 발생했습니다.
Python in worker has different version 3.6 than that in driver 3.5, PySpark cannot run with different minor versions.
Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.
내 spark-worker 가 사용 하는 파이썬 버전을 확인하려면 cmd 프롬프트 에서 다음을 누르십시오 .
python --version
Python 3.6.3
나에게 Python 3.6.3 을 보여주었습니다 . 그래서 분명히 내 스파크 작업자 는 v3.6.3 인 시스템 파이썬을 사용하고 있습니다.
이제 스파크 드라이버 를 설정 PYSPARK_DRIVER_PYTHON=jupyter
하여 jupyter를 실행하도록 설정 하므로 jupyter가 사용하는 Python 버전을 확인해야합니다.
개방이 검사 수행 아나콘다 프롬프트 및 히트를
python --version
Python 3.5.X :: Anaconda, Inc.
여기 jupyter python이 v3.5.x를 사용하고 있습니다. 이 버전은 모든 노트북 (도움말-> 정보)에서도 확인할 수 있습니다.
이제 jupyter python을 v3.6.6 버전으로 업데이트해야합니다 . 위로 개폐 작업을 수행하려면 아나콘다 프롬프트 및 히트
conda 검색 파이썬
그러면 Anaconda에서 사용 가능한 파이썬 버전 목록이 제공됩니다. 원하는 것을 설치하십시오
conda 설치 python = 3.6.3
이제 동일한 버전 3.6.3의 Python 설치가 모두 있습니다. Spark는이를 준수하지 않아야하며 Spark-driver에서 Action을 실행할 때는 그렇지 않습니다. 예외가 사라졌습니다. 행복한 코딩 ...