一、词频统计
A. 分步骤实现
- 准备文件
- 下载小说或长篇新闻稿
- 上传到hdfs上
- 读文件创建RDD
- 分词
- 排除大小写lower(),map()
- 标点符号re.split(pattern,str),flatMap(),
- 停用词,可网盘下载stopwords.txt,filter(),
- 长度小于2的词filter()
1.统计词频
2.按词频排序
4.查看结果
C.和作业2的“二、Python编程练习:英文文本的词频统计 ”进行比较,理解并用自己话表达Spark编程的特点。
在Spark中,RDD允许用户显式地将工作集缓存在内存中,后续能够重用工作集,这极大地提升了速度。
其中,Spark提供的主要抽象是弹性分布式数据集(RDD),通常RDD很大,会被分成很多个分区,分别保存在不同的节点上。分区可以增加并行度,减少通信开销。
RDD通过打开HDFS(或其他hadoop支持的文件系统)上的一个文件、在驱动程序中打开一个已有的Scala集合或由其他RDD转换操作得到。
用户可以要求Spark将RDD持久化到内存中,这样就可以有效地在并行操作中复用。另外,在节点发生错误时RDD可以自动恢复。
二、求Top值
网盘下载payment.txt文件,通过RDD操作实现选出最大支付额的用户。
1.丢弃不合规范的行:
-
- 空行
- 少数据项
- 缺失数据
2.按支付金额排序
3.取出Top3
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。