5.RDD操作综合实例
- 作业a
- 准备文件
- 下载小说或长篇新闻稿
- 上传到hdfs上
- 读文件创建RDD
- 分词
- 排除大小写lower(),map()
- 标点符号re.split(pattern,str),flatMap(),
停用词,可网盘下载stopwords.txt,filter(),
长度小于2的词filter()
- 统计词频
- 准备文件
- 按词频排序
输出到文件
- 作业b
- 作业C
- 在spark中读取数据后数据是一条字符串/一行字符串视作一个linus,也叫做一个rdd对象(每个转换算子的操作都会形成新的rdd对象),spark中词频统计需要先用flatMap进行切分并压平,然后处理切分的字符串后形成新的键值对,再对形成的键值对进行词频的统计,然后再排序输出。而在python中,则没有压平等这类操作。而spark中有个特点就是在spark中有着区块数的概念,是多个任务同时进行,而python是按顺序进行的,所以spark主要是对分布式的数据进行处理,而python是对单数据进行处理。
二、求Top值
选出最大支付额的用户。
- 丢弃不合规范的行:
- 空行
- 少数据项
- 缺失数据
-
- 支付金额转换为数值型,按支付金额排序
-
- 取出Top3
-