pycharm下与spark的交互 详细配置说明以及spark 运行简单例子

前提你本地的pyspark是可以运行的,如果有不明白的,可以看我的博客:https://blog.csdn.net/Lq_520/article/details/85323058

下面开始了,试了无数次才成功的:

pycharm的安装,不会的可以看我的博客:https://blog.csdn.net/Lq_520/article/details/83584987

这样所有的安装配置都齐活了,开始在pycharm中开始配置。

首先创建一个工程文件.py文件,在网上看了无数个博客 ,都有问题,没弄出来,结果无意中就自己弄出来了。

1.打开pycharm-(左上角)file—settings–Project Interpreter–选择你的python环境

2.找到你的spark安装路径和文件:D:\lq\spark\python\lib 你会看到有两个压缩文件 pycharm下与spark的交互 详细配置说明以及spark 运行简单例子

将这两个文件进行解压 粘贴 复制 到你所选python环境的Lib\site-packages中 ,例如我的是:D:\lq\env\venv\Lib\site-packages,具体图片如下图所示:
pycharm下与spark的交互 详细配置说明以及spark 运行简单例子

然后在重新打开你的pycharm工程文件,pyspark就不会报红了,l例如我的运行程序:

from pyspark import *
import os

if __name__ == '__main__':
    # Windows的Spark安装目录
    os.environ['SPARK_HOME'] = 'D:\lq\spark'
    # Create SparkConf
    conf = SparkConf()\
        .setAppName("WordCount")\
        .setMaster("local")\
        # Create SparkContext
    sc = SparkContext(conf=conf)
    # 从本地模拟数据
    datas = ["you,jump", "i,jump"]
    # Create RDD
    rdd = sc.parallelize(datas)
    print(rdd.count())  # 2
    print(rdd.first())  # you,jum

    # WordCount
    wordcount = rdd.flatMap(lambda line: line.split(",")) \
        .map(lambda word: (word, 1)) \
        .reduceByKey(lambda a, b: a + b)
    for wc in wordcount.collect():
        print(wc[0] + "   " + str(wc[1]))


这时我们会报错误如下图所示:

pycharm下与spark的交互 详细配置说明以及spark 运行简单例子

有的人系统找不到文件那是乱码的,刚开始我也是,一直不知道是什么错误,这里我们需要对consol编码进行设置,我也是找了很久,对pycharm不是很熟吧,具体设置如下图

pycharm下与spark的交互 详细配置说明以及spark 运行简单例子
将global encoding 设置成GBK,这样与windows编码一致,这样就知道是什么错误了。言归正传,对于"""Exception: Java gateway process exited before sending the driver its port number “”"错误,解决其实很简单,在代码中我们需要对 JAVA_HOME 进行设置,即可解决。在代码中加上如下代码即可。

 os.environ['JAVA_HOME'] = 'D:\lq\Java\jdk1.8.0_191'

输出结果如下图所示:

pycharm下与spark的交互 详细配置说明以及spark 运行简单例子