TeraSort 笔记

对Hadoop TeraSort的介绍可以参见董大神的博客 Hadoop中TeraSort算法分析

以下就记录下测试过程

TeraGen中SortGenMapper的addKey生成了10byte的Key,addRowId生成了88byte的Value,再加上每行的结束符,一行Tera记录是100byte。

通过设置map task的数量可以控制输出文件的个数

#生成了1MB的数据并在HDFS中创建1M的目录来存储,目录中包括4个文件,每个文件2500Bytes
hadoop jar hadoop-0.20.2-examples.jar teragen -D mapred.map.tasks=4 10000 1M

 TeraSort进行排序,包括了采样、标记、局部排序三个步骤

hadoop jar hadoop-0.20.2-examples.jar terasort -D mapred.reduce.tasks=4 1M 1M-out

TeraValidate对排序结果进行检查,对于不正确的排序会生成一个文件列出错误排序记录

hadoop jar hadoop-0.20.2-examples.jar teravalidate 1M-out 1M-val

#刻意修改输出文件后执行teravalidate的输出

error    misorder in part-00000 last: '7HSifVqk)-' current: '7HL.k5qzBZ'
error    misorder in part-00000 last: '7J?k]>_kP&' current: '7HVI{*k\=,'
error    misordered keys last: part-00000:end 'O(ju`RkUR_' current: part-00001:begin '7HL.k5qzBZ'

 

 

 

 

posted @ 2013-04-17 09:09  asdffdas  阅读(1153)  评论(0编辑  收藏  举报