TeraSort 笔记

本文介绍了Hadoop TeraSort排序算法的实际应用过程,包括使用TeraGen生成指定大小的测试数据,调整MapReduce任务数量来控制输出文件数量,并通过TeraValidate验证排序结果的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对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'

 

 

 

 

转载于:https://www.cnblogs.com/valder/archive/2013/04/17/3020803.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值