美文网首页
Pycharm配置Spark避坑指南

Pycharm配置Spark避坑指南

作者: Metatronxl | 来源:发表于2018-01-14 14:38 被阅读1960次

    PS:本文建立在使用Mac或者linux系统的基础上,也不建议使用window系统进行spark配置=_=

    安装JAVA环境

    这部没啥好说的吧,上网搜java安装一大把。
    切记配置java全局变量

    vim ~/.bash_profile 
    

    然后输入

    export JAVA_HOME=$(/usr/libexec/java_home)
    

    安装scala

    这里推荐Mac党首选工具brew
    可以省去你配置全局变量以及管理包这一影响效率的过程

    • 安装scala的命令
    brew install scala
    

    安装完成后用

    $ scala -version
    

    查看是否安装成功

    安装Spark

    这里有一个坑一定要注意,
    不要用brew去安装spark!!!
    不要用brew去安装spark!!!
    不要用brew去安装spark!!!

    因为brew安装完的所有的包地址都在

    $ /usr/local/Cellar/
    

    里面,这意味着你在pycharm执行命令会有权限问题的产生

    所以我们采用去官网下载包的方式: P

    http://spark.apache.org/downloads.html
    
    Spark官网

    下载完成后解压

    tar -zxvf spark-2.0.1-bin-hadoop2.7.tgz
    

    配置spark路径

    vim ~/.bash_profile
    

    配置如下参数(自己本机spark路径,***填自己的真实路径)

    export  SPARK_HOME = /Users/***/spark/spark-2.0.1-bin-hadoop2.7
    export PATH= $PATH:$SPARK_HOME/bin
    

    如果一切没有配置过SSH,在主目录输入如下命令:

    ssh-keygen –t rsa –P 
    

    一直按回车直到结束,接着输入命令,追加私钥:

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    

    启动Spark

    进入Spark目录运行pyspark启动脚本:

    $ pyspark
    
    屏幕快照 2018-01-14 下午2.23.04.png

    在pycharm中配置spark

    首先打开pyCharm 的Perferences > Project Structure


    屏幕快照 2018-01-14 下午2.25.16.png
    • 选择右边👉的Add Content Root
    • 找到spark的目录
    • 导入py4j和pyspark的包
      包的具体位置为:
    spark > python >lib 
    
    屏幕快照 2018-01-14 下午2.28.24.png

    配置完成后:


    屏幕快照 2018-01-14 下午2.28.50.png

    接着我们打开工程右上角的Edit Condigurations


    屏幕快照 2018-01-14 下午2.29.07.png

    找到Environment Variables配置:

    屏幕快照 2018-01-14 下午2.30.09.png

    接着配置PYTHONPATH和SPARK_HOME

    屏幕快照 2018-01-14 下午2.31.20.png

    PYTHONPATH为spark目录下python包的位置
    在我的电脑中,PYTHONPATH为

    /Users/xulei2/Documents/tmpFile/DataMining/spark-2.2.0-bin-hadoop2.7/python
    

    SPARK_HOME为:

    /Users/xulei2/Documents/tmpFile/DataMining/spark-2.2.0-bin-hadoop2.7
    

    点击确认,配置成功:)

    测试是否能够正常运行
    import sys
    
    try:
        from pyspark import SparkContext
        from pyspark import SparkConf
    
        print ("Successfully imported Spark Modules")
    except ImportError as e:
        print ("Can not import Spark Modules", e)
        sys.exit(1)
    
    sc = SparkContext("local","apple")
    words = sc.parallelize(["scala", "java", "hadoop", "spark", "akka"])
    print(words.count())
    

    输入下面结果即为正常


    屏幕快照 2018-01-14 下午2.34.35.png

    brew安装的种种坑

    这里就不提了,别用brew安装spark就成,我是配置了一个下午无果,始终显示

    Java gateway process exited before sending the driver its port number
    

    如果有老司机能够给予解答,万分感谢,毕竟brew配置spark比起自己手动配置方便了不是一点两点- -

    如果其他童鞋配置spark有问题,欢迎给我留言共同交流:)

    相关文章

      网友评论

          本文标题:Pycharm配置Spark避坑指南

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