我们正在使用HDP2.5并且有一个处理来自HBase的行的作业。我为工作设置了开始键和结束键,并且还尝试设置mapreduce.input.fileinputformat.split.maxsize
以增加映射器的数量,但是与分割maxsize值无关,我得到25个映射任务......
我尝试了一些比dfs.blocksize
小2,4,8倍的值。例如。
mapreduce.input.fileinputformat.split.maxsize=67108864
dfs.blocksize=134217728
启用应用程序管理器日志并未显示有关YARN如何决定地图任务数量的任何有用提示。我只看到如下消息:
INFO util.RegionSizeCalculator: Calculating region sizes for table "my_table"
...
INFO mapreduce.JobSubmitter: number of splits:25
增加工作的地图任务数量的正确方法是什么?
答案 0 :(得分:0)
默认情况下,HBaseMapReduceUtil中的map任务映射到区域数。在Splice Machine(开源),我们通过询问hbase存储文件生成更多的分割点。我们还添加了一种方法,我们直接使用memstore中的增量增量读取存储文件,而不是从HBase远程读取(慢速)。
如果您感兴趣,我可以发布代码链接吗?