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

 

 

 

 

posted @ 2022-04-08 16:16  Sjh_code  阅读(10)  评论(0编辑  收藏  举报