Apache spark 将Spark与iPython笔记本连接
我在网上学习了一些教程,但它们不能在OS X El Capitan(10.11)上使用Apache spark 将Spark与iPython笔记本连接,apache-spark,ipython,ipython-notebook,pyspark,osx-elcapitan,Apache Spark,Ipython,Ipython Notebook,Pyspark,Osx Elcapitan,我在网上学习了一些教程,但它们不能在OS X El Capitan(10.11)上使用Spark 1.5.1 基本上我已经运行了这个命令下载apachespark brew update brew install scala brew install apache-spark 更新了.bash_配置文件 # For a ipython notebook and pyspark integration if which pyspark > /dev/null; then export
Spark 1.5.1
基本上我已经运行了这个命令下载apachespark
brew update
brew install scala
brew install apache-spark
更新了.bash_配置文件
# For a ipython notebook and pyspark integration
if which pyspark > /dev/null; then
export SPARK_HOME="/usr/local/Cellar/apache-spark/1.5.1/libexec/"
export PYSPARK_SUBMIT_ARGS="--master local[2]"
fi
跑
创建了一个启动文件~/.ipython/profile\u pyspark/startup/00 pyspark setup.py
,以这种方式配置
# Configure the necessary Spark environment
import os
import sys
# Spark home
spark_home = os.environ.get("SPARK_HOME")
# If Spark V1.4.x is detected, then add ' pyspark-shell' to
# the end of the 'PYSPARK_SUBMIT_ARGS' environment variable
spark_release_file = spark_home + "/RELEASE"
if os.path.exists(spark_release_file) and "Spark 1.4" in open(spark_release_file).read():
pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "")
if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args
# Add the spark python sub-directory to the path
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"))
然后我运行ipython notebook--profile=pyspark
,笔记本工作正常,但无法识别sc
(spark上下文)
有人用Spark 1.5.1实现了这一点吗
编辑:您可以按照本指南进行操作
我安装了Jupyter,它确实比你想象的要简单:
ilovejobs@mymac:~$ conda update jupyter
Apps
文件夹(即:
spark-1.5.1
移动到~/Apps
目录
ilovejobs@mymac:~/Downloads$ mv spark-1.5.1/ ~/Apps
~/Apps
目录并验证spark是否存在
ilovejobs@mymac:~/Downloads$ cd ~/Apps
ilovejobs@mymac:~/Apps$ ls -l
drwxr-xr-x ?? ilovejobs ilovejobs 4096 ?? ?? ??:?? spark-1.5.1
$PATH
:
ilovejobs@mymac:~/Apps$ cd
ilovejobs@mymac:~$ echo "export $HOME/apps/spark/bin:$PATH" >> .profile
ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON=ipython" >> .profile
ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark" >> .profile
ilovejobs@mymac:~$ source .profile
~/notebooks
目录
ilovejobs@mymac:~$ mkdir notebooks
~/notebooks
并运行pyspark:
ilovejobs@mymac:~$ cd notebooks
ilovejobs@mymac:~/notebooks$ pyspark
.bashrc
。
现在很高兴,您应该能够使用pyspark内核运行jupyter(它将显示为python 2,但它将使用spark)使用IPython的spark/jupyter笔记本非常棒,我很高兴Alberto能够帮助您运行它 作为参考,还值得考虑两种预包装的好替代品,它们可以很容易地集成到纱线簇中(如果需要的话) Spark笔记本: 阿帕奇齐柏林飞艇: 在编写Spark Notebook(v0.6.1)时,它更为成熟,您可以在此处根据Spark和Hadoop版本预构建安装:
齐柏林飞艇(v0.5)看起来很有前途,但目前还没有Spark笔记本或IPython的Spark功能那么多。FYI,您可以通过now在Jupyter上运行Scala、PySpark、SparkR和SQL,Spark可以在Jupyter上运行。新的口译员是根据pull请求添加的(并标记为实验性的)
有关更多信息,请参阅wiki页面。首先,确保您的机器中有一个spark环境 然后,通过pip安装python模块
findspark
:
$ sudo pip install findspark
然后在python shell中:
import findspark
findspark.init()
import pyspark
sc = pyspark.SparkContext(appName="myAppName")
现在,您可以在pythonshell(或ipython)中使用pyspark执行您想要的操作
事实上,在我看来,在jupyter中使用spark内核是最简单的方法谢谢,我在没有安装Jupiter的情况下就让它工作了(除非它是自动安装的:p)。这对我来说很有效……但现在我只能打开jupyter笔记本了。我再也不能只使用spark运行python控制台了。两者都有可能吗?@Sebastialonso是的,这是可能的,您只需取消设置
PYSPARK\u DRIVER\u PYTHON\u OPTS
环境变量。@AlbertoBonsanto遵循相同的步骤。它给出了一个未找到Pyspark命令的错误。有什么帮助吗?@pr338您需要将pyspark添加到您的路径中
您好,我有同样的问题,仍然无法解决。我使用OS X Elcapitab,Jupiter,spark 1.5.2。在解决了我编写本教程的所有问题后,你做了什么(额外)工作来让“sc”工作。看看它,我用了那些精确的步骤,它工作得很好。希望这有帮助。
ilovejobs@mymac:~$ mkdir notebooks
ilovejobs@mymac:~$ cd notebooks
ilovejobs@mymac:~/notebooks$ pyspark
$ sudo pip install findspark
import findspark
findspark.init()
import pyspark
sc = pyspark.SparkContext(appName="myAppName")