spark中groupByKey、reduceByKey与sortByKey_reducebykey排序怎么用-程序员宅基地

技术标签: spark  

groupByKey把相同的key的数据分组到一个集合序列当中:

[("hello",1), ("world",1), ("hello",1), ("fly",1), ("hello",1), ("world",1)] --> [("hello",(1,1,1)),("word",(1,1)),("fly",(1))]

reduceByKey把相同的key的数据聚合到一起并进行相应的计算:

[("hello",1), ("world",1), ("hello",1), ("fly",1), ("hello",1), ("world",1)]  add--> [("hello",3),("word",2),("fly",1)]

sortByKey按key的大小排序,默认为升序排序:

 [(3,"hello"),(2,"word"),(1,"fly")]  -->   [(1,"fly"),(2,"word"),(3,"hello")] 

 

groupByKey对分组后的每个key的value做mapValues(len)后的结果与reduceByKey的结果一致,即:如果分组后要对每一个key所对应的值进行操作则应直接用reduceByKey;sortByKey是按key排序,如果要对value排序,可以交换key与value的位置,再排序。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41848129/article/details/101380460

智能推荐

mysql 多进程 读写分离_MySQL数据库读写分离-程序员宅基地

文章浏览阅读123次。Mysql数据库读写分离一、 Mysql数据库安装(此处略过)二、 Mysql主从复制,主服务器为A:192.168.5.31,从服务器为B:192.168.5.321、 主服务器A上操作登陆mysqlMysql –u root –p授权从服务器B同步数据用户mysql> GRANT REPLICATION SLAVE ON *.* to 'slavedb'@'192.16..._数据库 多个进程读写

低代码可视化开发理念在物联网APP开发中的应用_低代码可视化平台项目理念-程序员宅基地

文章浏览阅读5k次,点赞2次,收藏44次。云编排式物联APP开发平台可通过云端可视化编排开发,边端远程自动化部署,云边协同管理运维的方式,实现物联网APP快速开发,海量边端应用管理。_低代码可视化平台项目理念

数据的两种归一化方法_数据量级相差较大 归一化-程序员宅基地

文章浏览阅读1.3k次。数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。一般而言,数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的..._数据量级相差较大 归一化

立志进大厂的Owen-程序员宅基地

文章浏览阅读335次。为什么写博客?目录为什么写博客?​​​​​​​

图表示学习Graph Embedding:DeepWalk python实现_graph embedding python-程序员宅基地

文章浏览阅读1.1w次,点赞12次,收藏45次。https://github.com/AI-luyuan/graph-embedding_graph embedding python

【JAVA开发小技巧】使用enum枚举类规范化代码_枚举 代码规范-程序员宅基地

文章浏览阅读433次,点赞6次,收藏11次。阿里巴巴Java开发手册中推荐,如果常量类中变量值仅在一个范围内变化,且带有名称之外的延伸属性, 建议定义为枚举类。使用枚举类可以使我们的代码更加规范且美观。_枚举 代码规范

随便推点

AndroidStudio4.0 Layout界面预览设置等_android studio layout预览设置-程序员宅基地

文章浏览阅读3.9k次,点赞8次,收藏7次。这里写自定义目录标题AndroidStudio Layout和Drawable默认打开代码加预览AndroidStudio Layout和Drawable默认打开代码加预览AndroidStudio 3.6之后打开Layout和Drawable默认显示的只有预览页面,而不是代码加预览;选择File | Settings | Editor | Layout Editor可以修改默认显示代码加预览;直接上图:将右边Other Resources改成Split既可以实现代码加预览。效果如下:._android studio layout预览设置

<转载>Android 对sdcard操作-程序员宅基地

文章浏览阅读347次。其实就是普通的文件操作,不过还是有些地方需要注意。比如: 1.加入sdcard操作权限; 2.确认sdcard的存在; 3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件; 在AndroidManifest.xml添加sdcard操作权限 复制代码

BDC报错信息查看-程序员宅基地

文章浏览阅读150次。3.在事务代码se91中输入对应消息类和消息编号。1.在事务代码st22的报错信息中下载本地文件。4.查看报错信息,根据报错信息取解决问题。2.打开本地文件查看报错信息。

AS 3.1.3连续依赖多个Module,导致访问不到Module中的类_为什么as在一个包下建了多个module,缺无法打开了-程序员宅基地

文章浏览阅读1.1k次。我好苦啊,半夜还在打代码。还出bug,狗日的。问题是这样的:我在新建的项目里,建了两个Module: fiora-ec和fiora-core。项目的依赖顺序是这样的,App依赖fiora-ec,fiora-ec又依赖于fiora-core,因为这种依赖关系,所有可以在app和fiora-ec中删除一些不必要的引入,比如这个玩意儿:com.android.support:appcompat-v7:..._为什么as在一个包下建了多个module,缺无法打开了

Magento 常用插件二-程序员宅基地

文章浏览阅读1.4k次。1. SMTP 插件 URL:http://www.magentocommerce.com/magento-connect/TurboSMTP/extension/4415/aschroder_turbosmtp KEY:magento-community/Aschroder_TurboSmtp 2. Email Template Adapter..._magento extension pour ricardo.ch

【连载】【FPGA黑金开发板】Verilog HDL那些事儿--低级建模的资源(六)-程序员宅基地

文章浏览阅读161次。声明:本文为原创作品,版权归akuei2及黑金动力社区共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 2.5 低级建模的资源 低级建模有讲求资源的分配,目的是使用“图形”来提高建模的解读性。 图上是低级建模最基本的建模框图,估计大家在实验一和实验二已经眼熟过。功能模块(低级功能模块)是一个水平的长方形,而控制模块(低级控制模块)是矩形。组..._cyclone ep2c8q208c黑金开发板