简而言之,我需要一种方法,根据hadoopmaprediceapi的分区来提示我希望运行某个reducer的主机。有什么办法吗?
有点长的故事:
我很少有Map器任务为某些hbase表生成(或从其他源导入)记录。已发出的记录 ImmutableBytesWritable
作为钥匙。此作业的缩减器数量与表区域的数量完全匹配,并使用自定义分区器分发记录,以便每个区域的记录都能到达相应的缩减器。
异径管用于产生 HFile
图像,每个区域一个图像,以便以后可以对其使用批量加载。这里唯一严重的问题是,我希望reducer至少“尝试运行”在相同的主机上,相应的区域服务器正在运行。这是为了获得为适当的hbase区域服务器生成hfiles位置(以hdfs表示)的良好概率。
你知道怎么做吗?
另一种方法是如何“请求”hdfs文件以“获取本地”。有了这个,我可以开始另一个mr作业,将Map器绑定到区域服务器(通过拆分)并请求相应的Map HFile
至 get local
.
1条答案
按热度按时间wlzqhblo1#
目前还没有现成的方法来实现这一点,除非编写一个定制的调度程序,这将是一个过度的杀伤力。
上游票证不跟踪此功能请求https://issues.apache.org/jira/browse/mapreduce-199.