Java教程

5.RDD操作综合实例

本文主要是介绍5.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的用户了

这篇关于5.RDD操作综合实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!