@Deprecated @InterfaceAudience.Public @InterfaceStability.Stable public abstract class TableInputFormatBase extends Object implements org.apache.hadoop.mapred.InputFormat<ImmutableBytesWritable,Result>
TableInputFormat
s. Receives a HTable
, a
byte[] of input columns and optionally a Filter
.
Subclasses may use other TableRecordReader implementations.
An example of a subclass:
class ExampleTIF extends TableInputFormatBase implements JobConfigurable { public void configure(JobConf job) { HTable exampleTable = new HTable(HBaseConfiguration.create(job), Bytes.toBytes("exampleTable")); // mandatory setHTable(exampleTable); Text[] inputColumns = new byte [][] { Bytes.toBytes("columnA"), Bytes.toBytes("columnB") }; // mandatory setInputColumns(inputColumns); RowFilterInterface exampleFilter = new RegExpRowFilter("keyPrefix.*"); // optional setRowFilter(exampleFilter); } public void validateInput(JobConf job) throws IOException { } }
Constructor and Description |
---|
TableInputFormatBase()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
protected HTable |
getHTable()
Deprecated.
Allows subclasses to get the
HTable . |
org.apache.hadoop.mapred.RecordReader<ImmutableBytesWritable,Result> |
getRecordReader(org.apache.hadoop.mapred.InputSplit split,
org.apache.hadoop.mapred.JobConf job,
org.apache.hadoop.mapred.Reporter reporter)
Deprecated.
Builds a TableRecordReader.
|
org.apache.hadoop.mapred.InputSplit[] |
getSplits(org.apache.hadoop.mapred.JobConf job,
int numSplits)
Deprecated.
Calculates the splits that will serve as input for the map tasks.
|
protected void |
setHTable(HTable table)
Deprecated.
Allows subclasses to set the
HTable . |
protected void |
setInputColumns(byte[][] inputColumns)
Deprecated.
|
protected void |
setRowFilter(Filter rowFilter)
Deprecated.
Allows subclasses to set the
Filter to be used. |
protected void |
setTableRecordReader(TableRecordReader tableRecordReader)
Deprecated.
Allows subclasses to set the
TableRecordReader . |
public org.apache.hadoop.mapred.RecordReader<ImmutableBytesWritable,Result> getRecordReader(org.apache.hadoop.mapred.InputSplit split, org.apache.hadoop.mapred.JobConf job, org.apache.hadoop.mapred.Reporter reporter) throws IOException
getRecordReader
in interface org.apache.hadoop.mapred.InputFormat<ImmutableBytesWritable,Result>
IOException
InputFormat.getRecordReader(InputSplit,
JobConf, Reporter)
public org.apache.hadoop.mapred.InputSplit[] getSplits(org.apache.hadoop.mapred.JobConf job, int numSplits) throws IOException
HRegion
s in the table. If the number of splits is
smaller than the number of HRegion
s then splits are spanned across
multiple HRegion
s and are grouped the most evenly possible. In the
case splits are uneven the bigger splits are placed first in the
InputSplit
array.getSplits
in interface org.apache.hadoop.mapred.InputFormat<ImmutableBytesWritable,Result>
job
- the map task JobConf
numSplits
- a hint to calculate the number of splits (mapred.map.tasks).IOException
InputFormat.getSplits(org.apache.hadoop.mapred.JobConf, int)
protected void setInputColumns(byte[][] inputColumns)
inputColumns
- to be passed in Result
to the map task.protected void setHTable(HTable table)
HTable
.table
- to get the data fromprotected void setTableRecordReader(TableRecordReader tableRecordReader)
TableRecordReader
.tableRecordReader
- to provide other TableRecordReader
implementations.Copyright © 2014 The Apache Software Foundation. All rights reserved.