标签:文件 re RDD 实例 词频 操作 排序 分词 键值
5.RDD操作综合实例
一、词频统计
A. 分步骤实现
1、准备文件
分词
排除大小写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的用户了
标签:文件,re,RDD,实例,词频,操作,排序,分词,键值 来源: https://www.cnblogs.com/0094lmb/p/16110598.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。