findspark.init()列表索引超出范围错误

时间:2019-06-18 21:34:45

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

在使用findspark.find()时,我会得到火花安装的路径,但是在尝试使用findspark.init(path)时,我会使用jupyter笔记本获得列表索引超出范围的错误

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

  

以下代码输出火花起始路径

import findspark
findspark.find()
  

使用上述火花起始路径的输出进行初始化

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

1 个答案:

答案 0 :(得分:0)

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

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