5.RDD操作综合实例
一、词频统计
A. 分步骤实现
1准备文件
2下载小说或长篇新闻稿
3上传到hdfs上
4读文件创建RDD
分词
排除大小写lower(),map()
标点符号re.split(pattern,str),flatMap(),
停用词,可网盘下载stopwords.txt,filter(),
长度小于2的词filter()
5统计词频
6按词频排序
7输出到文件
8查看结果
B. 一句话实现:文件入文件出
sc.textFile("hdfs://localhost:9000/user/hadoop/sjh159.txt").flatMap(lambda a:a.split()).map(lambda a:a.lower()).filter(lambda a:re.split('\W+',a)).filter(lambda a:a not in stopwords).filter(lambda a:len(a)>2).map(lambda a:(a, 1)).reduceByKey(lambda a, b: a + b).sortBy(lambda x: x[1], False,1).saveAsTextFile('sjhOnceRdd')
二、求Top值
网盘下载payment.txt文件,通过RDD操作实现选出最大支付额的用户。
资源链接:https://pan.baidu.com/s/1Hc9SxMLcsP9HVQLZ7eSVYA 提取码:tefr