谷歌确实到处都是这个问题的解决方案,但不幸的是,即使在尝试了所有可能性之后,我也无法让它工作,所以请耐心等待,看看是否有什么让你印象深刻。
操作系统:MAC
火花:1.6.3 (2.10)
Jupyter 笔记本:4.4.0
蟒蛇:2.7
斯卡拉:2.12.1
我能够成功安装和运行 Jupyter notebook。接下来,我尝试将其配置为与 Spark 一起使用,为此我使用 Apache Toree 安装了 spark 解释器。现在,当我尝试在笔记本中运行任何 RDD 操作时,会引发以下错误
Error from python worker:
/usr/bin/python: No module named pyspark
PYTHONPATH was:
/private/tmp/hadoop-xxxx/nm-local-dir/usercache/xxxx/filecache/33/spark-assembly-1.6.3-hadoop2.2.0.jar
已经尝试过的事情: 1. 在 .bash_profile 中设置 PYTHONPATH 2. 能够在本地的 python-cli 中导入“pyspark” 3. 尝试将解释器 kernel.json 更新为以下
{
"language": "python",
"display_name": "Apache Toree - PySpark",
"env": {
"__TOREE_SPARK_OPTS__": "",
"SPARK_HOME": "/Users/xxxx/Desktop/utils/spark",
"__TOREE_OPTS__": "",
"DEFAULT_INTERPRETER": "PySpark",
"PYTHONPATH": "/Users/xxxx/Desktop/utils/spark/python:/Users/xxxx/Desktop/utils/spark/python/lib/py4j-0.9-src.zip:/Users/xxxx/Desktop/utils/spark/python/lib/pyspark.zip:/Users/xxxx/Desktop/utils/spark/bin",
"PYSPARK_SUBMIT_ARGS": "--master local --conf spark.serializer=org.apache.spark.serializer.KryoSerializer",
"PYTHON_EXEC": "python"
},
"argv": [
"/usr/local/share/jupyter/kernels/apache_toree_pyspark/bin/run.sh",
"--profile",
"{connection_file}"
]
}
- 甚至更新了解释器 run.sh 以显式加载 py4j-0.9-src.zip 和 pyspark.zip 文件。当打开 PySpark 笔记本并创建 SparkContext 时,我可以看到从本地上传的 spark-assembly、py4j 和 pyspark 包,但仍然在调用操作时,不知何故找不到 pyspark。