pyspark.sql模块错误:worker中的Python版本与驱动程序3.7中的版本不同,PySpark无法使用其他次要版本运行

时间:2019-05-30 10:12:16

标签: pyspark jupyter pyspark-sql

df = spark.read.parquet('xxx')
tmstmp = df['timestamp']

spark.conf.set("spark.sql.session.timeZone", "Singapore")

time_df = spark.createDataFrame([('tmstmp',)], ['unix_time'])
time_df.select(from_unixtime('unix_time').alias('ts')).collect()

df['timestamp'] = time_df

spark.conf.unset("spark.sql.session.timeZone")

此行有错误:

time_df.select(from_unixtime('unix_time').alias('ts')).collect()

错误消息msg:

  

异常:worker中的Python与驱动程序3.7中的Python版本不同,PySpark无法以其他次要版本运行。请检查环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON是否正确设置。

1 个答案:

答案 0 :(得分:0)

您收到的异常本身非常清楚。 您有两个或更多节点的集群。您提交此命令(主服务器)的服务器/节点与其他节点(工作人员)具有不同版本的python。

可能的解决方案:

  • 提高您的工作节点python版本或将PYSPARK_PYTHON env设置为python3.7安装。
  • 更改驱动程序python版本以匹配工作节点版本。