We already do this inside TableInputFormatBase:
String regionLocation = table.getRegionLocation(startKeys[startPos]).
splits[i] = new TableSplit(this.table.getTableName(),
startKeys[startPos], ((i + 1) < realNumSplits) ? startKeys[lastPos]:
LOG.info("split: " + i + "->" + splits[i]);
I don't know if we can do anything more than that. One difference in HBase compared to mapred on HDFS is that a region is only on one node, not 3 which is the default replication factor. So being able to get the right map task on the right RS at the right moment may be difficult for the JobTracker.