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是否正确设置。
答案 0 :(得分:0)
您收到的异常本身非常清楚。 您有两个或更多节点的集群。您提交此命令(主服务器)的服务器/节点与其他节点(工作人员)具有不同版本的python。
可能的解决方案:
PYSPARK_PYTHON
env设置为python3.7安装。