在 Rodeo 中 运行 时,pySpark 有一个 worker - 驱动程序版本冲突
pySpark has a worker - driver version conflict when ran in Rodeo
以下简单脚本在来自终端 运行 的 pyspark 中运行良好:
import pyspark
sc = pyspark.SparkContext()
foo = sc.parallelize([1,2])
foo.foreach(print)
但是当在 Rodeo 中 运行 时,它会产生一个错误,其中最重要的一行是:
Exception: Python in worker has different version 2.7 than that in driver 3.5, PySpark cannot run with different minor versions
完整的错误输出可以在这个 link 找到:http://pastebin.com/raw/unGuGLhq
我的$SPARK_HOME/conf/spark-env.sh
文件包含以下行:
export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=python3
尽管如此,问题仍然存在,将相同的行放入 ~/.bashrc
也不能解决问题。
圈地版本:1.3.0
Spark 版本:1.6.1
平台:Linux
此问题与此处描述的问题相关:link
Rodeo 作为桌面应用程序很难使用 shell 环境变量。诀窍是将我们通常在 spark-env.sh 中声明的变量放在 Rodeo 的 .rodeoprofile 中,而不是使用 os 模块来添加它们。特别是在这种情况下,将以下行添加到 .rodeoprofile 有帮助:
os.environ["PYSPARK_PYTHON"]="python3"
os.environ["PYSPARK_DRIVER_PYTHON"]="python3"
(虽然第二个是多余的,我添加它只是为了保持一致性,因为驱动程序无论如何都使用 3.5)
以下简单脚本在来自终端 运行 的 pyspark 中运行良好:
import pyspark
sc = pyspark.SparkContext()
foo = sc.parallelize([1,2])
foo.foreach(print)
但是当在 Rodeo 中 运行 时,它会产生一个错误,其中最重要的一行是:
Exception: Python in worker has different version 2.7 than that in driver 3.5, PySpark cannot run with different minor versions
完整的错误输出可以在这个 link 找到:http://pastebin.com/raw/unGuGLhq
我的$SPARK_HOME/conf/spark-env.sh
文件包含以下行:
export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=python3
尽管如此,问题仍然存在,将相同的行放入 ~/.bashrc
也不能解决问题。
圈地版本:1.3.0
Spark 版本:1.6.1
平台:Linux
此问题与此处描述的问题相关:link
Rodeo 作为桌面应用程序很难使用 shell 环境变量。诀窍是将我们通常在 spark-env.sh 中声明的变量放在 Rodeo 的 .rodeoprofile 中,而不是使用 os 模块来添加它们。特别是在这种情况下,将以下行添加到 .rodeoprofile 有帮助:
os.environ["PYSPARK_PYTHON"]="python3"
os.environ["PYSPARK_DRIVER_PYTHON"]="python3"
(虽然第二个是多余的,我添加它只是为了保持一致性,因为驱动程序无论如何都使用 3.5)