tjb*_*305 12 python py4j pyspark
在Python 3.5 Jupyter环境中运行以下内容时,我收到以下错误.关于是什么导致它的任何想法?
import findspark
findspark.init()
Run Code Online (Sandbox Code Playgroud)
错误:
IndexError Traceback (most recent call
last) <ipython-input-20-2ad2c7679ebc> in <module>()
1 import findspark
----> 2 findspark.init()
3
4 import pyspark
/.../anaconda/envs/pyspark/lib/python3.5/site-packages/findspark.py in init(spark_home, python_path, edit_rc, edit_profile)
132 # add pyspark to sys.path
133 spark_python = os.path.join(spark_home, 'python')
--> 134 py4j = glob(os.path.join(spark_python, 'lib', 'py4j-*.zip'))[0]
135 sys.path[:0] = [spark_python, py4j]
136
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
gre*_*sov 11
这很可能是由于SPARK_HOME您的系统上未正确设置环境变量.或者,您可以在初始化时指定它findspark,如下所示:
import findspark
findspark.init('/path/to/spark/home')
Run Code Online (Sandbox Code Playgroud)
在那之后,它应该全部工作!
我遇到了同样的错误,可以通过输入确切的安装目录来使其正常工作:
import findspark
# Use this
findspark.init("C:\Users\PolestarEmployee\spark-1.6.3-bin-hadoop2.6")
# Test
from pyspark import SparkContext, SparkConf
Run Code Online (Sandbox Code Playgroud)
基本上,这是提取spark的目录。以后,无论您在哪里看到的文件,都
spark_home输入相同的安装目录。我还尝试使用toree来创建一个内核,但是它以某种方式失败了。核心将是一个更清洁的解决方案。