美文网首页程序员
mac上面配置anaconda3+pyspark+jupyter

mac上面配置anaconda3+pyspark+jupyter

作者: 九日照林 | 来源:发表于2018-07-27 21:45 被阅读114次

    今天花了一些时间来整理mac osx系统下用anaconda环境配置pyspark+jupyter notebook启动的整个过程。

    背景介绍:

    我原本用的是anaconda 2.7版本,创建了python3的环境变量,安装了python3,虽然在jupyter notebook能够正常导入pyspark,但是对rdd算子聚合后计数总会报错。


    jupyter notebook文件
    python in worker has different version 2.7 than that in driver 3.6, PySpark cannot run with different minor versions.Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.
    

    应该是需要修改环境变量。

    修改环境变量一般在终端修改.bash_profile文件

    #在终端键入
    $vi ./.bash_profile
    
    #然后在打开的文件当中加上以下这些内容
    export SPARK_HOME=~spark-2.3.1-bin-hadoop2.7#这里是指明了SPARK要调用的路径,就是你解压缩的文件
    export PATH="$PARK_HOME/bin:$PATH"#这里将上面的环境变量加入到应用程序的执行搜索路径
    export PYSPARK_DRIVER_PYTHON="jupyter"#这里指定pyspark的启动形式是jupyter notebook
    export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
    #对于python3还需要制定python的版本
    export PYSPARK_PYTHON=python3
    alias snotebook='$SPARK_PATH/bin/pyspark --master local[2]'#这里主要说的是用本地两个核来启动pyspark
    

    退出以后在终端键入使之修改成效

    $source ~/.bash_profile
    

    关闭终端,重新启动。

    仍然是会报错:

    Cannot run program "//anaconda/envs/python3": error=13, Permission denied
    

    似乎是没有权限启动python3,因为我本身默认的python是2.7版本。

    弄了一下午也没明白如何修改权限使得python3能够和pyspark和谐共处,最终下了anaconda3,重新安装。保持上面.bash_profile文件不改。

    接下来要安装spark 2.3版本,在这里注意,之前python3和原本的spark 2.1版本是不共存的,所以之前不能运行也是有大理的。下载完之后放到home/目录下,解压缩(这里的路径就是上面SPARK_HOME的路径,是对应起来的)。

    接下来有了spark可以安装pyspark了。

    终端键入以下语句,安装pyspark

    $conda install pyspark
    

    到了这里就可以启动了。

    $jupyter notebook /Users/chenlinlin/Desktop/spark_practice_dataset/rating_counter.ipynb
    

    启动之后,发现rating可以用countByValue方法了,不会报之前的错误。

    最后的结果

    在这里总结几点:

    1. python3和spark 2.1版本不兼容,所以要升级到spark 2.3版本。
    2. 下载的anaconda2配置了python3的环境,但是pyspark不知道为什么在kernel为python3的情况下,设置pyspark_python环境变量为python3也无法运行。所以最好就是直接安装anaconda3,只有python3的环境。
    3. 按照步骤来:安装anaconda3->下载spark 2.3->安装pyspark->修改.bash_profile文件的环境变量,是最快的解决路径。
    4. 要将一些大的安装包备份好,这样就可以省去很多下载时间。

    参考资料

    1. Install Python on Mac (Anaconda)
    2. 在mac上搭建spark+ipython环境
    3. Install Spark on Mac (PySpark)

    相关文章

      网友评论

      • 知识学者::unamused: 上次还说写一写,论文修改的东西,后来就没有了后来。。
        知识学者:@九日照林 :unamused: 说的话就要实现,言必行,行必果。 不遵守,你的良心不会痛吗嘛。
        九日照林::joy: 哈哈,本来毕业了就没啥心思写了,我会写写看的,谢谢你的提醒

      本文标题:mac上面配置anaconda3+pyspark+jupyter

      本文链接:https://www.haomeiwen.com/subject/bmqnmftx.html