【问题标题】:Python version different in worker and driver工作程序和驱动程序中的 Python 版本不同
【发布时间】:2019-07-04 14:40:51
【问题描述】:

我要回答的问题是:

创建RDD

使用映射创建由列指定的 NumPy 数组的 RDD。 RDD 的名称是 Rows

我的代码:Rows = df.select(col).rdd.map(make_array)

输入此内容后,我收到一个奇怪的错误,基本上是:异常:工作程序中的 Python 与驱动程序 3.6 中的版本不同,PySpark 无法使用不同的次要版本运行。请检查环境变量 PYSPARK_PYTHON 和 PYSPARK_DRIVER_PYTHON 是否设置正确。

我知道我正在使用 Python 3.6 的环境中工作。我不确定这个特定的代码行是否触发了这个错误?你怎么看

请注意,这不是我在这个 Jupyter 笔记本上的第一行代码。 如果您需要更多信息,请告诉我,我会提供。我不明白为什么会这样。

【问题讨论】:

  • 检查你的奴隶。我有一次同样的错误。您的一个从属服务器默认运行 python 2。

标签: python pyspark


【解决方案1】:

您的 slave 和您的驱动程序使用的 Python 版本不同,这将在您使用 Spark 的任何时候触发此错误。

确保您的从属服务器上安装了 Python 3.6,然后(在 Linux 中)修改您的 spark/conf/spark-env.sh 文件以添加 PYSPARK_PYTHON=/usr/local/lib/python3.6(如果这是您从属服务器中的 python 目录)

【讨论】:

  • 火花工作者是否阅读您的 .bashrc?最好在 spark/conf/spark-env.sh 中设置它。
猜你喜欢
  • 1970-01-01
  • 2020-02-22
  • 1970-01-01
  • 2019-06-04
  • 1970-01-01
  • 1970-01-01
  • 2017-04-19
  • 2016-07-25
  • 2012-04-12
相关资源
最近更新 更多