其实这个异常百度一下,大部分都是添加环境变量,修改conf/spark-env.sh文件,主要就是加入或修改 PYSPARK_PYTHON 和PYSPARK_DRIVER_PYTHON这两个环境变量,这都是老生常谈的问题了,在此我就不赘述了。
但我最近在使用spark远程master结点进行编程的时候,发现无论怎么做这个异常都一直存在,颇为苦恼。
首先,要明确的一点就是你的操作系统中一定存在两个版本的python才会导致这个问题。然后,于是我根据错误提示
File "/opt/spark/python/lib/pyspark.zip/pyspark/worker.py", line 175, in main
定位到对应代码,看看究竟是为什么。
以下是worker.py异常处理的源码:
def main(infile, outfile):
try:
boot_time = time.time()
split_index = read_int(infile)
if split_index == -1: # for unit tests
exit(-1)
version = utf8_deserializer.loads(infile)
if version != "%d.%d" % sys.version_info[:2]:
raise Exception(("Python in worker has different version %s than that in " +
"driver %s, PySpark cannot run with different minor versions." +
"Please check environment v