9.2.1 hadoop mapreduce任务输出的默认排序

Posted 一字千金

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.2.1 hadoop mapreduce任务输出的默认排序相关的知识,希望对你有一定的参考价值。

    任务的默认排序

MapTask和ReduceTask都会默认对数据按照key进行排序,不管逻辑上是否需要。默认是按照字典顺序排序,且实现该排序的方法是快速排序。但是map和reduce任务只能保证单个任务内部输出有序,不能保证所有输出全局有序。

MapTask,当环形缓冲区使用率到达一定阈值后进行一次快速排序,将这些有序数据溢写到磁盘上,而当数据处理完毕后,它会对磁盘上所有文件进行归并排序。ReduceTask,它从每个MapTask上远程拷贝相应的数据文件,如果文件大小超过一定阈值,则溢写到磁盘上,否则存储在内存中。如果内存中文件大小或者数据超过一定阈值,则进行一次合并后将数据溢写到磁盘上。如果磁盘上文件数目达到一定阈值,则进行一次归并排序以生成一个更大的文件;当所有数据拷贝完毕后,ReduceTask统一对内存和磁盘上的所有数据进行一次归并排序。

自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

https://www.cnblogs.com/bclshuai/p/11380657.html

以上是关于9.2.1 hadoop mapreduce任务输出的默认排序的主要内容,如果未能解决你的问题,请参考以下文章

Hive安装

学习笔记Hadoop—— Hadoop基础操作—— MapReduce常用Shell操作MapReduce任务管理

Eclipse远程提交MapReduce任务到Hadoop集群

如何在hadoop环境下执行mapreduce任务

成功运行第一个MapReduce任务

Eclipse远程提交MapReduce任务到Hadoop集群