Python大数据之PySpark(三)使用Python语言开发Spark程序代码_windows spark python

  • 算子:rdd的api的操作,就是算子,flatMap扁平化算子,map转换算子
  • Transformation算子
  • Action算子
  • 步骤:
  • 1-首先创建SparkContext上下文环境
    2-从外部文件数据源读取数据
    3-执行flatmap执行扁平化操作
    4-执行map转化操作,得到(word,1)
    5-reduceByKey将相同Key的Value数据累加操作
    6-将结果输出到文件系统或打印
  • 代码:
# -*- coding: utf-8 -*-
# Program function: Spark的第一个程序
# 1-思考:sparkconf和sparkcontext从哪里导保
# 2-如何理解算子?Spark中算子有2种,
# 一种称之为Transformation算子(flatMapRDD-mapRDD-reduceBykeyRDD),
# 一种称之为Action算子(输出到控制台,或文件系统或hdfs),比如collect或saveAsTextFile都是Action算子
from pyspark import SparkConf,SparkContext

if __name__ == '__main__':
   # 1 - 首先创建SparkContext上下文环境
   conf = SparkConf().setAppName("FirstSpark").setMaster("local[*]")
   sc = SparkContext(conf=conf)
   sc.setLogLevel("WARN")#日志输出级别
   # 2 - 从外部文件数据源读取数据
   fileRDD = sc.textFile("D:\BigData\PyWorkspace\Bigdata25-pyspark_3.1.2\PySpark-SparkBase_3.1.2\data\words.txt")
   # print(type(fileRDD))#
   # all the data is loaded into the driver's memory.
   # print(fileRDD.collect())
   # ['hello you Spark Flink', 'hello me hello she Spark']
   # 3 - 执行flatmap执行扁平化操作
   flat_mapRDD = fileRDD.flatMap(lambda words: words.split(" "))
   # print(type(flat_mapRDD))
   # print(flat_mapRDD.collect())
   #['hello', 'you', 'Spark', 'Flink', 'hello', 'me', 'hello', 'she', 'Spark']
   # # 4 - 执行map转化操作,得到(word, 1)
   rdd_mapRDD = flat_mapRDD.map(lambda word: (word, 1))
   # print(type(rdd_mapRDD))#
   # print(rdd_mapRDD.collect())
   # [('hello', 1), ('you', 1), ('Spark', 1), ('Flink', 1), ('hello', 1), ('me', 1), ('hello', 1), ('she', 1), ('Spark', 1)]
   # 5 - reduceByKey将相同Key的Value数据累加操作
   resultRDD = rdd_mapRDD.reduceByKey(lambda x, y: x + y)
   # print(type(resultRDD))
   # print(resultRDD.collect())
   # [('Spark', 2), ('Flink', 1), ('hello', 3), ('you', 1), ('me', 1), ('she', 1)]
   # 6 - 将结果输出到文件系统或打印
   resultRDD.saveAsTextFile("D:\BigData\PyWorkspace\Bigdata25-pyspark_3.1.2\PySpark-SparkBase_3.1.2\data\output\wordsAdd")
   # 7-停止SparkContext
   sc.stop()#Shut down the SparkContext.


    • 总结:
  • Python大数据之PySpark(三)使用Python语言开发Spark程序代码_windows spark python_第1张图片

TopK需求

需求:[(‘Spark’, 2), (‘Flink’, 1), (‘hello’, 3), (‘you’, 1), (‘me’, 1), (‘she’, 1)]

排序&#x

你可能感兴趣的:(程序员,大数据,python,spark)