2014-03-13 58 views
1

我有一个hugh文件(配置了超过20亿条记录的配置表) 我需要运行mapreduce来处理第一个10k记录数。hadoop mapreduce处理记录的限制数

有没有一种有效的方法来限制hadoop mapreduce处理的记录数量?

回答

0

您可以在任务说明中使用LIMIT。但是,如果您必须一次又一次地执行此操作,那么更好的自动化解决方案就是使用OOZIE(Hadoop的工作流编辑器),它可以为您的数据在配置单元中创建分区。

0

您可以使用LIMIT

SELECT * FROM T LIMIT 10000 

但它返回10K随机记录。由于MapReduce独立处理数据块,因此不能说哪个记录是第一个,哪个记录是最后一个。

这里有一个技巧,得到你想要的情况下,你知道的记录的顺序:

SET mapred.reduce.tasks = 1 
SELECT * FROM T SORT BY SORT_FIELD DESC LIMIT 10000 

不过你必须处理所有20个亿的记录。

+0

所以没有办法处理只有10K recored? –

+0

这就是为什么它被称为大数据 –