我想回答的问题是:
创建RDD
使用映射创建由列指定的 NumPy 数组的 RDD。 RDD 的名称为 Rows
我的代码:Rows = df.select(col).rdd.map(make_array)
输入此内容后,我收到一个奇怪的错误,基本上是这样的:异常:worker 中的 Python 版本 2.7 与驱动程序 3.6 中的版本不同,PySpark 无法使用不同的次要版本运行。请检查环境变量 PYSPARK_PYTHON 和 PYSPARK_DRIVER_PYTHON 是否设置正确。
我知道我正在使用 Python 3.6 的环境中工作。我不确定这行特定的代码是否触发了此错误?你觉得怎么样
请注意,这不是我在此 Jupyter 笔记本上的第一行代码。 如果您需要更多信息,请告诉我,我会提供。我不明白为什么会发生这种情况。
最佳答案
您的从站和驱动程序没有使用相同版本的 Python,这将在您使用 Spark 时触发此错误。
确保您的从站上安装了 Python 3.6,然后(在 Linux 中)修改您的 spark/conf/spark-env.sh
文件以添加 PYSPARK_PYTHON=/usr/local/lib/python3.6
(如果这是你的从站中的 python 目录)
关于Worker 和 Driver 中的 Python 版本不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56890227/