【问题标题】:findspark.init() list index out of range errorfindspark.init() 列表索引超出范围错误
【发布时间】:2019-06-18 21:34:45
【问题描述】:

使用 findspark.find() 时,我得到了安装 spark 的路径,但尝试 findspark.init(path) 时,我使用 jupyter notebook 得到列表索引超出范围错误

我已确保我的 SPARK_HOME 和 PATH 变量也已正确设置

下面的代码输出 spark home 路径

import findspark
findspark.find()

使用上述 spark home 路径的输出进行初始化

import findspark
findspark.init(path)

抛出列表索引超出范围错误

    133     # add pyspark to sys.path
    134     spark_python = os.path.join(spark_home, 'python')
--> 135     py4j = glob(os.path.join(spark_python, 'lib', 'py4j-*.zip'))[0]
    136     sys.path[:0] = [spark_python, py4j]
    137 

    IndexError: list index out of range

我不明白它如何输出正确的路径,但无法初始化spark

【问题讨论】:

    标签: python-3.x pyspark jupyter-notebook


    【解决方案1】:

    我通过将 Spark 和 Hadoop 目录移动到安装了 anaconda 和 jupyter 的 C 盘解决了这个问题。然后更新 SPARK_HOME 和 PATH 环境变量以反映新的目的地。

    提交上述更改并重新启动终端后,我能够通过 jupyter notebook 连接到 spark 并执行代码。

    【讨论】:

      猜你喜欢
      • 2017-07-02
      • 1970-01-01
      • 2019-09-08
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多