使用hbase表作为我的输入,其中我预先处理的键是由与相应行ID连接的数字组成的,我想放心,所有具有相同编号的行标题为其键,将在M / R作业中从同一个映射器处理。我知道这可以通过扩展TableInputFormat来实现,我已经看过一两篇关于这个类扩展的帖子,但我正在寻找最有效的方法来实现这一点。
如果有任何想法,请告诉我。
答案 0 :(得分:0)
您可以在扫描中使用PrefixFilter。 http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
使用Future
并行启动不同的映射器final Future<Boolean> newJobFuture = executor.submit(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
Job mapReduceJob = MyJobBuilder.createJob(args, thePrefix,
...);
return mapReduceJob.waitForCompletion(true);
}
});
但我相信这更像是你正在寻找的减速机的方法。