【分布式编程】四——Pycharm运行Python版Spark程序

前言

此前搭建成功分布式Spark环境,此文介绍使用Pycharm运行Python语言的Spark程序。

操作步骤

安装Pycharm

  1. 点击下载

  2. 过程与安装Intellij IDEA类似,在此不在赘述。

  3. 进入到安装目录下执行

    ./bin pycharm-sh

配置运行环境

  1. 创建新项目

  2. 新建一个Python文件,这里命名为main.py

    from pyspark import SparkContext,SparkConf
    
    conf=SparkConf().setAppName("sparkDemo").setMaster("local")
    sc=SparkContext(conf=conf)
    logFile='/data/input/README.txt' 
    logData=sc.textFile(logFile).cache()
    
    numAs = logData.filter(lambda s: 'a' in s).count()
    numBs = logData.filter(lambda s: 'b' in s).count()
    
    print("Lines with a: %i, lines with b: %i" % (numAs, numBs))
    

    logFile='/data/input/README.txt'

    此路径是之前运行Hadoop例程在HDFS中创建的/data/input文件夹以及上传到此文件夹的README.txt文件。

  3. 将Spark中的pyspark模块添加到Python环境变量中去

    sudo vim /etc/profile

    添加以下代码

    export PYTHONPATH=$SPARK_HOME/libexec/python:$SPARK_HOME/libexec/python/build:$PYTHONPATH
  4. 更新配置

    source /etc/profile
  5. /usr/spark-2.2.1-bin-without-hadoop/Python/lib/py4j-0.10.4-src.zip解压。

    tar -zxvf /usr/spark-2.2.1-bin-without-hadoop/Python/lib/py4j-0.10.4-src.zip

    将解压后的文件夹复制到/usr/spark-2.2.1-bin-without-hadoop/Python文件夹下。

    sudo mv /usr/spark-2.2.1-bin-without-hadoop/Python/lib/py4j /usr/spark-2.2.1-bin-without-hadoop/Python

    【注】

    • /usr/spark-2.2.1-bin-without-hadoop是spark安装目录。
    • py4j-0.10-4-src.zip根据版本号不同,文件名称也有差异
  6. 点击Run-Edit Configurations

    点击左上角绿色+,选择Python

    mark

    填写配置

    • Name:任起一个名字即可

    • Script path:执行的Python文件的路径。可以点右侧的下图中红框选择文件路径。

      mark

    • Environment variables:添加PYTHONPATHSPARK_HOME变量。

      PYTHONPATHspark安装目录/python

      SPARK_HOMEspark安装目录

  7. 点击File-Settings-Project-Project Structure

    点击右侧Add Content Root

    添加/usr/spark-2.2.1-bin-without-hadoop/Python/lib/py4j-0.10.4-src.zip/usr/spark-2.2.1-bin-without-hadoop/Python/lib/pyspark.zip

    mark

  8. 运行即可

【注】若from pyspark import SparkContext,SparkConf下还有红线,则添加以下代码即可

import sys
sys.path.insert(1,'/usr/spark-2.2.1-bin-without-hadoop/python')

猜你喜欢

转载自blog.csdn.net/tiweeny/article/details/79277938
今日推荐