Index: hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java (revision 1567460) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java (working copy) @@ -93,12 +93,14 @@ Context context) throws IOException { try { - for (Cell kv : value.rawCells()) { - kv = filterKv(kv); - // skip if we filtered it out - if (kv == null) continue; - // TODO get rid of ensureKeyValue - context.write(row, KeyValueUtil.ensureKeyValue(convertKv(kv, cfRenameMap))); + if (filter == null || !filter.filterRowKey(row.get(), row.getOffset(), row.getLength())) { + for (Cell kv : value.rawCells()) { + kv = filterKv(kv); + // skip if we filtered it out + if (kv == null) continue; + // TODO get rid of ensureKeyValue + context.write(row, KeyValueUtil.ensureKeyValue(convertKv(kv, cfRenameMap))); + } } } catch (InterruptedException e) { e.printStackTrace(); @@ -143,33 +145,35 @@ throws IOException, InterruptedException { Put put = null; Delete delete = null; - for (Cell kv : result.rawCells()) { - kv = filterKv(kv); - // skip if we filter it out - if (kv == null) continue; - - kv = convertKv(kv, cfRenameMap); - // Deletes and Puts are gathered and written when finished - if (CellUtil.isDelete(kv)) { - if (delete == null) { - delete = new Delete(key.get()); + if (filter == null || !filter.filterRowKey(key.get(), key.getOffset(), key.getLength())) { + for (Cell kv : result.rawCells()) { + kv = filterKv(kv); + // skip if we filter it out + if (kv == null) continue; + + kv = convertKv(kv, cfRenameMap); + // Deletes and Puts are gathered and written when finished + if (CellUtil.isDelete(kv)) { + if (delete == null) { + delete = new Delete(key.get()); + } + delete.addDeleteMarker(kv); + } else { + if (put == null) { + put = new Put(key.get()); + } + put.add(kv); } - delete.addDeleteMarker(kv); - } else { - if (put == null) { - put = new Put(key.get()); - } - put.add(kv); } + if (put != null) { + put.setClusterIds(clusterIds); + context.write(key, put); + } + if (delete != null) { + delete.setClusterIds(clusterIds); + context.write(key, delete); + } } - if (put != null) { - put.setClusterIds(clusterIds); - context.write(key, put); - } - if (delete != null) { - delete.setClusterIds(clusterIds); - context.write(key, delete); - } } @Override @@ -431,6 +435,8 @@ System.err.println(" -D" + FILTER_ARGS_CONF_KEY + "=