diff --git src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java index cba9263..6b3f519 100644 --- src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java +++ src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java @@ -631,16 +631,25 @@ public class LoadIncrementalHFiles extends Configured implements Tool { // Skip _logs, etc if (familyDir.getName().startsWith("_")) continue; byte[] family = familyDir.getName().getBytes(); - + + Path[] hfiles = FileUtil.stat2Paths(fs.listStatus(familyDir)); + + if (hfiles.length == 0) { + continue; + } + Algorithm compression = HFile.createReader(fs, hfiles[0], + new CacheConfig(getConf())).getCompressionAlgorithm(); + hcd = new HColumnDescriptor(family); + hcd.setCompressionType(compression); htd.addFamily(hcd); - - Path[] hfiles = FileUtil.stat2Paths(fs.listStatus(familyDir)); + for (Path hfile : hfiles) { if (hfile.getName().startsWith("_")) continue; HFile.Reader reader = HFile.createReader(fs, hfile, new CacheConfig(getConf())); + final byte[] first, last; try { reader.loadFileInfo();