hadoop教程(七) shuffle中的排序

1.map写到buffer时候,预排序(为了后面的快排)

2.spill的时候二次快排

3.再根据partioner排序,每个partioner里根据key排序

4.在Map 任务完成前,所有的spill 文件将会被归并排序为一个索引文件和数据文件

5.  当所有的Map 输出都被拷贝后,Reduce 任务进入排序阶段(更恰当的说应该是归并阶段,因为排序在Map 端就已经完成),这个阶段会对所有的Map 输出进行归并排序,这个工作会重复多次才能完成

大概有5个排序

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/tools/

时间: 2024-11-17 06:10:31

hadoop教程(七) shuffle中的排序的相关文章

在Hadoop集群环境中为MySQL安装配置Sqoop的教程_Mysql

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS. 一.安装sqoop1.下载sqoop压缩包,并解压 压缩包分别是:sqoop-1.2.0-CDH3B4.tar.gz,hadoop-0.20.2-CD

MVC5+EF6 入门完整教程七

原文:MVC5+EF6 入门完整教程七 本篇我们针对表格显示添加一些新功能. 前面我们已经讲解过表格显示数据了,现在我们添加三个常用功能: 对显示结果进行排序.过滤.分页. 文章提纲 理论基础/前置准备 详细步骤 总结 前置准备 – 应用之前样式,增加测试数据 我们对之前的Views à Account à Index.cshtml 进行修改以完成今天的示例. 界面样式修改前: 下面对Views à Account à Index.cshtml进行如下修改: 应用布局页 _LayoutAdmin

php中数据排序与遍历函数总结

数组的排序 在php教程中,排序方式有三种,通过索引排序.通过值排序(不保留原索引).通过值排序(保留原索引).每种又分为升序.降序以及用户定义顺序三个函数.它们分别如下: 通过索引排序:①升序 ksort() ②降序 krsort() ③用户定义顺序 uksort() 不保留原索引值排序:①升序 sort() ②降序 rsort() ③用户定义顺序 usort() 保留原索引值排序:①升序 asort() ②降序 arsort() ③用户定义顺序 uasort() 在php中,也可以用arra

java-JAVA中选择排序无法输出

问题描述 JAVA中选择排序无法输出 代码如下: public class SelectSort { public static void ChoiceSort(int[] a) { int temp; for(int i=0;i<a.length;i++){ int min=i; for(int j=i+1;j<a.length;i++) if(less (a[j],min)) min=j; } } public static boolean less(Comparable v,Compar

求 大神 导入 hadoop 教程

问题描述 求 大神 导入 hadoop 教程 本人想将hadoop源码导入到 eclipse 或者其他的工具中, 求大神指教怎么将 hadoop源码导入 求 求,,,,,,,,,啊,啊,,啊,,啊,,啊,啊,啊, 所有币在这跪谢了 解决方案 Protocol Buffer compiler The version of Protocol Buffer compiler, protoc, must match the version of the protobuf JAR. If you have

黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 使用企业库异常处理应用程序模块的优势: 它支持整个应用程序体系结构层的异常处理,而不仅限于服务接口的界限.  它使得异常处理策略可以在管理层定义和维护,以便决策人员(可能是系统管理员和开发人员)可以定义如何处理异常.他们可以维护和修改控制异常处理的规则集,而无需更改块的应用程序代码.  它提供了常用的异常处理功能,例如记录异常信息

ASP.NET 5系列教程(七)完结篇-解读代码

在本文中,我们将一起查看TodoController 类代码. [Route] 属性定义了Controller的URL 模板: [Route("api/[controller]")]   所有符合该模板类型的HTTP 请求都会被路由到该controller.在本例中, 路由的命名规范为对应Controller 的前缀,对于TodoController 类,路由模板为 "api/todo". HTTP 方法 [HttpGet].[HttpPost]和[HttpDele

用中值排序基数法实现树状结构——让递归滚一边去

递归|排序 用中值排序基数法实现树状结构     在BBS的编写中,经常有人问怎样实现树状结构?一个比较不负责任的回答是:使用递归算法.当然,递归是一个可行的办法(二叉树的历遍也好象只能使用递归算法),但对于BBS来说,这样做势必要进行大量的Sql查询(虽然可以使用存储过程来做,但要从根本上加快速度,则应该考虑更快的算法).下面给出一个可行的彻底屏弃递的实现树状结构的算法.     下面给出另一种使用"使用中值排序基数法"实现树状结构:一.主要思想:增加一个排序基数字段ordernum

“中值排序基数法实现树状结构”的补充

排序 "中值排序基数法实现树状结构"的补充     由于一时疏忽,造成了此法"对于int类型的基数字段,对原始贴的回复只能有31个:numeric类型的基数字段,对原始贴的回复也不能超过120个"(实际上是对于int型字段,原始贴的回复第32个以上的树状结构显示开始紊乱,对于numeric型的基数字段,原始贴的回复从121个以上树状结构显示开始紊乱--回复并不会出问题),这是由于计算机存储精度引起的.    我们可以将加贴的存储过程修改一下(加进前面加上**号的行)