diff --git core/src/main/java/org/apache/hadoop/hbase/client/Scan.java core/src/main/java/org/apache/hadoop/hbase/client/Scan.java index f8bb1e2..94f3afe 100644 --- core/src/main/java/org/apache/hadoop/hbase/client/Scan.java +++ core/src/main/java/org/apache/hadoop/hbase/client/Scan.java @@ -20,6 +20,8 @@ package org.apache.hadoop.hbase.client; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.KeyValue; @@ -76,6 +78,8 @@ import java.util.TreeSet; * execute {@link #setCacheBlocks(boolean)}. */ public class Scan implements Writable { + private static final Log LOG = LogFactory.getLog(Scan.class); + private static final byte SCAN_VERSION = (byte)1; private byte [] startRow = HConstants.EMPTY_START_ROW; private byte [] stopRow = HConstants.EMPTY_END_ROW; @@ -560,6 +564,7 @@ public class Scan implements Writable { if (fq.length > 1 && fq[1] != null && fq[1].length > 0) { addColumn(fq[0], fq[1]); } else { + LOG.warn("Method Scan#addColumn(byte[] family) is deprecated. Please use Scan#addFamily(byte[] family) for the same."); addFamily(fq[0]); } return this; diff --git core/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormat.java core/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormat.java index 7dba46c..5d26324 100644 --- core/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormat.java +++ core/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormat.java @@ -28,6 +28,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.util.StringUtils; /** @@ -40,8 +41,12 @@ implements Configurable { /** Job parameter that specifies the input table. */ public static final String INPUT_TABLE = "hbase.mapreduce.inputtable"; - /** Base-64 encoded scanner. All other SCAN_ confs are ignored if this is specified. */ + /** Base-64 encoded scanner. All other SCAN_ confs are ignored if this is specified. + * See {@link TableMapReduceUtil#convertScanToString(Scan)} for more details. + */ public static final String SCAN = "hbase.mapreduce.scan"; + /** Column Family to Scan */ + public static final String SCAN_COLUMN_FAMILY = "hbase.mapreduce.scan.column.family"; /** Space delimited list of columns to scan. */ public static final String SCAN_COLUMNS = "hbase.mapreduce.scan.columns"; /** The timestamp used to filter columns with a specific timestamp. */ @@ -105,6 +110,10 @@ implements Configurable { scan.addColumns(conf.get(SCAN_COLUMNS)); } + if (conf.get(SCAN_COLUMN_FAMILY) != null) { + scan.addFamily(Bytes.toBytes(conf.get(SCAN_COLUMN_FAMILY))); + } + if (conf.get(SCAN_TIMESTAMP) != null) { scan.setTimeStamp(Long.parseLong(conf.get(SCAN_TIMESTAMP))); }