我一直在Ubuntu 14.04上的ipython笔记本中使用pyspark [和python 2.7],通过调用$ ipython notebook --profile spark为spark创建一个特殊的配置文件并启动笔记本。许多网站都提供了创建spark配置文件的机制,但我使用了here中给出的机制。
和$ HOME / .ipython / profile_spark / startup / 00-pyspark-setup.py包含以下代码
import os
import sys
# Configure the environment
if 'SPARK_HOME' not in os.environ:
os.environ['SPARK_HOME'] = '/home/osboxes/spark16'
# Create a variable for our root path
SPARK_HOME = os.environ['SPARK_HOME']
# Add the PySpark/py4j to the Python Path
sys.path.insert(0, os.path.join(SPARK_HOME, "python", "build"))
sys.path.insert(0, os.path.join(SPARK_HOME, "python"))
我刚刚为我的学生创建了一个新的Ubuntu 16.04虚拟机,我希望他们在ipython笔记本中运行pyspark程序。 Python,Pyspark工作得很好。我们正在使用Spark 1.6。
但是我发现当前版本的ipython notebook [或jupyter notebook]无论是通过Anaconda下载还是安装了sudo pip都安装了ipython ..不支持--profile选项,所有配置参数都必须在〜/ .jupyter / jupyter_notebook_config.py文件。
有人可以帮助我使用我需要在此文件中输入的配置参数吗?或者有替代解决方案吗?我试过findshark()解释here但是无法使它工作。 Findspark已安装,但findspark.init()失败,可能是因为它是为python 3编写的。
我的挑战是,在我的机器上安装旧的ipython时,一切工作都很顺利,但是从头开始安装所有东西的学生都无法在他们的虚拟机上运行pyspark。
答案 0 :(得分:1)
我用火花只是为了测试目的来自〜/ apps / spark-1.6.2-bin-hadoop2.6 / bin / pyspark
PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS="notebook" ~/apps/spark-1.6.2-bin-hadoop2.6/bin/pyspark
答案 1 :(得分:0)
通过查看this page中给出的建议,我找到了一个非常简单的回答我自己的问题。
忘记所有配置文件等。只需使用此命令启动笔记本 - $ IPYTHON_OPTS =" notebook" pyspark
这就是全部。
显然,SPARK的路径必须设为given here。 如果您在使用Py4j时遇到错误,请查看this page。
有了这个你很高兴。火花上下文在sc处可用,所以不要再次导入
答案 2 :(得分:0)
使用Anaconda 4.3.0中的Python 2.7.13和Ubuntu 16.04上的Spark 2.1.0:
grant {
permission java.security.AllPermission;
};
添加以下行(其中" *****"是正确的路径):
$ cd
$ gedit .bashrc
保存,然后执行:
export SPARK_HOME=*****/spark-2.1.0-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
export PATH=$SPARK_HOME/sbin:$PATH
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
检查它是否适用于:
$ *****/anaconda2/bin/.pip install py4j
$ cd
$ source .bashrc
有关详细信息,请转到here