class TabletLocationNamePartitioner extends Partitioner<BulkIngestKey,Value> implements Configurable, DelegatePartitioner {

    @Override
    public synchronized int getPartition(BulkIngestKey key, Value value, int numReduceTasks) {
        
        try {
            return getLocationPartition(key.getKey().getRow(), getShardLocations(key.getTableName().toString()), numReduceTasks);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

}