我有两个用户 user1 和 user2,后者具有 root 权限。我在 user2 中安装了 spark 和 Hadoop。
现在我已经在用户 1 上安装了 Anaconda2,当我尝试在 jupyter notebook 上运行我的作业时,它给出了错误,没有名为 pyspark 的模块。
那么,我可以从 user1 访问 pyspark 吗?
答案1
确保 user2 已配置 SPARK_HOME 环境变量,如果没有,请设置它。如果您已为所有用户设置了 SPARK_HOME,则访问 SPARK_HOME 对 user2 来说应该不是问题。配置 SPARK_HOME 变量后,在 Jupyter 笔记本的第一个单元格中添加以下脚本,执行此单元格后,您应该能够使用 sparkContext(sc)。
# Configure the necessary Spark environment
import os
import sys
spark_home = os.environ.get('SPARK_HOME', None)
sys.path.insert(0, spark_home + "/python")
# Add the py4j to the path.
# You may need to change the version number to match your install
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1-src.zip'))
# Initialize PySpark to predefine the SparkContext variable 'sc'
execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))