Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 将Spark与iPython笔记本连接_Apache Spark_Ipython_Ipython Notebook_Pyspark_Osx Elcapitan - Fatal编程技术网

Apache spark 将Spark与iPython笔记本连接

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

我在网上学习了一些教程,但它们不能在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_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,它确实比你想象的要简单:

  • 为OSX安装
  • 在终端中安装并键入下一行

  • 更新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
    
  • 这里是第一个棘手的部分。将spark二进制文件添加到
    $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")