spark-shell实现WordCount&按word排序&按count排序
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,spark-shell实现WordCount&按word排序&按count排序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。输入:h
千家信息网最后更新 2025年12月03日spark-shell实现WordCount&按word排序&按count排序
spark-shell实现WordCount&按word排序&按count排序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
输入:
hello tomhello jerryhello kittyhello worldhello tom
读取 HDFS 中位于 hdfs://node1:9000/wc/input 目录下的文本文件, 读取结果赋值给 textRdd
val textRdd = sc.textFile("hdfs://node1:9000/wc/input")textRdd.collectres1: Array[String] = Array(hello,tom, hello,jerry, hello,kitty, hello,world, hello,tom)实现普通的 WordCount, 但结果不会像 MapReduce 那样按 Key(word) 排序
val wcRdd = textRdd.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)wcRdd.collectres2: Array[(String, Int)] = Array((tom,2), (hello,5), (jerry,1), (kitty,1), (world,1))实现按 Key(word) 排序(字典顺序)的 WordCount
思路: 在 wcRdd 的基础上对 Key(word) 排序
val sortByWordRdd = wcRdd.sortByKey(true) // 在 wcRdd 的基础上对 Key(word) 排序sortByWordRdd.collectres3: Array[(String, Int)] = Array((hello,5), (jerry,1), (kitty,1), (tom,2), (world,1))
在 Spark 1.3 中, 可以使用这样一个 RDD 的 transform 操作:
使用 sortBy() 操作
// _._1 : 元组的第1项, 就是 word; true : 按升序排序val sortByWordRdd = wcRdd.sortBy(_._1, true)sortByWordRdd.collectres3: Array[(String, Int)] = Array((hello,5), (jerry,1), (kitty,1), (tom,2), (world,1))
实现按 Value(count) 排序(降序)的 WordCount
思路1: 在 wcRdd 的基础上, 先把K(word), V(count)反转, 此时对Key(count)进行排序, 最后再反转回去
// 在wcRdd的基础上, 先把K(word), V(count)反转, 此时对Key(count)进行排序, 最后再反转回去val sortByCountRdd = wcRdd.map(x => (x._2,x._1)).sortByKey(false).map(x => (x._2,x._1))sortByCountRdd.collectres4: Array[(String, Int)] = Array((hello,5), (tom,2), (jerry,1), (kitty,1), (world,1))
思路2: 直接使用 sortBy() 操作
// _._2 : 元组的第2项, 就是 count; false : 按降序排序val sortByCountRdd = wcRdd.sortBy(_._2, false)sortByCountRdd.collectres4: Array[(String, Int)] = Array((hello,5), (tom,2), (jerry,1), (kitty,1), (world,1))
关于spark-shell实现WordCount&按word排序&按count排序问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
排序
基础
思路
问题
就是
更多
结果
帮助
解答
易行
普通
简单易行
内容
升序
字典
小伙
小伙伴
文件
文本
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全不烦恼mp3
电子商务网络安全的影响因素
莱西赵群软件开发
互联网高科技公司有哪些
网络安全知识第二十二条
服务器主机硬盘多大
三亚直播教学软件开发
碳中和为什么连接服务器超时
海东软件开发行业标准
机器人软件开发框架
光纤网络技术员工作内容
创业中国网络安全
雕龙古籍数据库
窗口网络安全
传云网络技术 阿里巴巴
不出名的软件开发公司
cel人脸数据库
网络安全警示教育案例
数据库中断由什么组成
成都快快网络技术有限公司
服务器管理器无法删除角色
上海楼控管理软件开发定制
东岭集团软件开发
软件开发公司一般加班几点
netty数据库访问
怎么制作网络安全教育视频
华为云服务器批量管理软件
与4G网络安全架构相比
常见外文数据库名称
自动分类照片服务器