spark-shell实现WordCount&按word排序&按count排序
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,spark-shell实现WordCount&按word排序&按count排序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。输入:h
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
软件开发个人发展期望和要求
昆明精益管理软件开发
国际网络安全应急论坛组
全国城市的数据库
无线网络技术 课本
网络安全和信息安全选哪个
真实软件开发专业服务
网络安全大赛用英语怎么说
吉林省内高校网络安全专业
creo 重置服务器管理
课堂作业设计数据库
mssql 外网连接数据库
点击按钮修改数据库
软件开发好的工作岗位
攀登阅读软件开发
高二网络技术应用选修课标要求
字母网络安全儿童画
天长软件开发商
谷歌商店没法打开说没连接服务器
兰州市青少年网络安全知识大赛
华为网络安全总经理宋端智
开一个直播公司需要租服务器吗
佛山东汇网络技术
美国服务器防攻击
软件开发中人员利用率
加强民警网络安全教育
excel表格中怎么导入数据库
云服务器租用价格排名
学软件开发给工资吗
应用软件开发方法