5.RDD操作综合实例

一、词频统计

A. 分步骤实现

1、准备文件

下载小说或长篇新闻稿

上传到hdfs上

读文件创建RDD

分词

排除大小写lower(),map()

.标点符号re.split(pattern,str),flatMap(),
先导入re然后用re.split分词(\W+会匹配所有非单词字符,(\W+)会返回这些,但我们不需要返回,所以这里用\W+即可)

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

将停用词文件分词储存到变量中

筛选出不在停用表中的词

长度小于2的词filter()

5.统计词频
先把单词映射成键值对

将key相同的values合并起来,做词频的统计

6.按词频排序
用sortBy进行词频的排序(对values值进行降序排序,并且指定区块数量为1,以方便查文件)

7.输出到文件
分别输出到本地文件和分布式文件上

8.查看结果
查看文件前15条结果是否正确即可

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

查看文件

 

 

二、求Top值

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

  • 下载项目,将项目put到分布式系统上

读取文件,进行分词和去标点操作

 

将金额映射成KV值相同的键值对,注意把values值映射的时候设置为int值

然后对键值对进行累加统计和排序

输出到文件并查看结果

所以获取最大支付额的用户就是7890的用户了

 

posted @ 2022-03-30 12:54  伽森  阅读(42)  评论(0编辑  收藏  举报