Python语言开发Spark程序

一、安装Anaconda

一、安装Anaconda

点击查看安装Anaconda软件教程

二、配置Anaconda环境变量

点击查看配置教程

二、Windows的PySpark环境配置

一、查看所有conda虚拟环境

conda env list  

二、创建虚拟环境

conda create -n pyspark_env python=3.8

三、切换到虚拟环境

activate pyspark_env

四、安装PySpark

C:\Users\Administrator>pip install pyspark -i https://pypi.tuna.tsinghua.edu.cn/simple

五、配置环境变量

Python语言开发Spark程序_第1张图片

三、PyCharm构建Python project

一、创建项目

Python语言开发Spark程序_第2张图片

二、配置远程环境

Python语言开发Spark程序_第3张图片
Python语言开发Spark程序_第4张图片Python语言开发Spark程序_第5张图片Python语言开发Spark程序_第6张图片Python语言开发Spark程序_第7张图片
Python语言开发Spark程序_第8张图片

四、WordCount代码实战

一、创建测试文件

vim /export/test_pyspark/word.txt
# 添加下面的数据
hello you Spark Flink
hello me hello she Spark

二、测试代码

from pyspark import SparkContext, SparkConf
import os
# 这里可以选择本地PySpark环境执行Spark代码,也可以使用虚拟机中PySpark环境,通过os可以配置
os.environ['SPARK_HOME'] = '/export/server/spark'
PYSPARK_PYTHON = "/root/anaconda3/envs/pyspark_env/bin/python3"
# 当存在多个版本时,不指定很可能会导致出错
os.environ["PYSPARK_PYTHON"] = PYSPARK_PYTHON
os.environ["PYSPARK_DRIVER_PYTHON"] = PYSPARK_PYTHON
if __name__ == '__main__':
    print('PySpark First Program')
    # TODO: 当应用运行在集群上的时候,MAIN函数就是Driver Program,必须创建SparkContext对象
    # 创建SparkConf对象,设置应用的配置信息,比如应用名称和应用运行模式
    conf = SparkConf().setAppName("miniProject").setMaster("local[*]")
    # TODO: 构建SparkContext上下文实例对象,读取数据和调度Job执行
    sc = SparkContext(conf=conf)
    # 第一步、读取本地数据 封装到RDD集合,认为列表List
    wordsRDD = sc.textFile("file:///export/test_pyspark/word.txt")
    # 第二步、处理数据 调用RDD中函数,认为调用列表中的函数
    # a. 每行数据分割为单词
    flatMapRDD = wordsRDD.flatMap(lambda line: line.split(" "))
    #  b. 转换为二元组,表示每个单词出现一次
    mapRDD = flatMapRDD.map(lambda x: (x, 1))
    # c. 按照Key分组聚合
    resultRDD = mapRDD.reduceByKey(lambda a, b: a + b)
    #  第三步、输出数据
    res_rdd_col2 = resultRDD.collect()
    # 输出到控制台
    for line in res_rdd_col2:
        print(line)
    # 输出到本地文件中
    resultRDD.saveAsTextFile("file:///export/test_pyspark/output/")
    print('停止 PySpark SparkSession 对象')
    # 关闭SparkContext
    sc.stop()

三、测试结果

Python语言开发Spark程序_第9张图片

你可能感兴趣的:(#,Spark计算引擎,python,spark,pycharm)