5.RDD操作综合实例
作者:互联网
一、词频统计
A. 分步骤实现
- 1.准备文件
-
- 下载小说或长篇新闻稿
-
- 上传到hdfs上
- 2.读文件创建RDD
- 3.分词
- 4.标点符号re.split(pattern,str),flatMap(),
先导入re然后用re.split分词(\W+会匹配所有非单词字符,(\W+)会返回这些,但我们不需要返回,所以这里用\W+即可)
再分词一遍清除去标点后产生的新的无用数据
-
- 排除大小写lower(),map()
-
- 停用词,可网盘下载stopwords.txt,filter(),
将停用词文件分词储存到变量中
筛选出不在停用表中的词
筛选前后对比
-
- 长度小于2的词filter()
筛选前后对比(因为许多小于2的词在停用表中已经被筛选过了一次了)
- 5.统计词频
先把单词映射成键值对
将key相同的values合并起来,做词频的统计
- 6.按词频排序
用sortBy进行词频的排序(对values值进行降序排序,并且指定区块数量为1,以方便查文件)
- 7.输出到文件
分别输出到本地文件和分布式文件上
- 8.查看结果
查看文件前15条结果是否正确即可
B. 一句话实现:文件入文件出
通过代码结合实现一句话完成词频排序并保存文件
查看文件(由于没有去除停用表内的词,所以结果与前面不同)
二、求Top值
- 网盘下载payment.txt文件,通过RDD操作实现选出最大支付额的用户。
标签:文件,re,RDD,实例,词频,操作,排序,分词 来源: https://www.cnblogs.com/Yeav/p/16073702.html