5.RDD操作综合实例

Posted on 2022-04-06 16:55  小马blog  阅读(32)  评论(0编辑  收藏  举报

一、词频统计

A. 分步骤实现 

  1. 准备文件

下载小说或长篇新闻稿

上传到hdfs

 

 

  1. 读文件创建RDD

 

 

  1. 分词

 

 

  1. 排除大小写lower()map()

 


标点符号re.split(pattern,str)flatMap(),

 


停用词,可网盘下载stopwords.txt,filter()

 


长度小于2的词filter()

 

 

  1. 统计词频

 

 

  1. 按词频排序

 

 

  1. 输出到文件

 

 

  1. 查看结果

 

 

B. 一句话实现:文件入文件出

 

lines = sc.textFile("hdfs://localhost:9000/user/hadoop/story.txt").flatMap(lambda line: line.split()).flatMap(lambda line: re.split(r'\W', line)).flatMap(lambda line: line.split()).map(lambda word: word.lower()).filter(lambda x: x not in stopwords).filter(lambda x: len(x) > 2).map(lambda a: (a, 1)).reduceByKey(lambda a, b: a + b).sortBy(lambda x: x[1], False)

C. 和作业2二、Python编程练习:英文文本的词频统计进行比较,理解并用自己话表达Spark编程的特点。

   Spark运行速度快、易用性好、通用性强和随处运行。

 

二、求Top

网盘下载payment.txt文件,通过RDD操作实现选出最大支付额的用户。

  1. 丢弃不合规范的行:
    • 空行
    • 少数据项
    • 缺失数据

 

 

  1. 按支付金额排序

 

 

  1. 取出Top3

 

 

 

Copyright © 2024 小马blog
Powered by .NET 9.0 on Kubernetes