spark-shell实现WordCount&按word排序&按count排序
发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,spark-shell实现WordCount&按word排序&按count排序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。输入:h
千家信息网最后更新 2024年10月20日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安全错误
数据库的锁怎样保障安全
西青区节能软件开发报价技术规范
维普没有哪里的数据库
接收邮件的服务器怎么填
湖南管理软件开发中心
崇明区通信网络技术产品
计算机网络技术基础与实践教程
如何保证用户服务器传输安全
机数据库教材
如何用命令登陆mysql数据库服务器
下李朗软件开发培训机构
虚拟实验室软件开发公司
网络安全一定要学密码学吗
交流电关闭服务器
软件开发管理 cmmi
数据库中的AVG是什么意思
jsp防止刷新提交数据库
数据库增加一列代码
阿联酋网络安全研究
最开始网络安全
云服务器vps
软件开发 环境因素
汕头oa软件开发
河北it软件开发市场前景如何
用友软件数据库总是已停止
JOC属于哪个核心数据库
长沙智能网络安全制造大会
怎样导出阿里云服务器的数据
杭州同欣网络技术有限公司财经
我的世界服务器端是啥
土木软件开发有哪些