com.nhncorp.neptune.parallel.hadoop
Class AbstractTabletInputFormat

java.lang.Object
  extended by com.nhncorp.neptune.parallel.hadoop.AbstractTabletInputFormat
All Implemented Interfaces:
org.apache.hadoop.mapred.InputFormat, org.apache.hadoop.mapred.JobConfigurable
Direct Known Subclasses:
DefaultTabletInputFormat

public abstract class AbstractTabletInputFormat
extends java.lang.Object
implements org.apache.hadoop.mapred.InputFormat, org.apache.hadoop.mapred.JobConfigurable

Neptune의 테이블을 입력으로 하는 Hadoop MapReduce 작업을 수행할 때 사용하는 InputFormat 일반적인 경우라면 DefaultTabletInputFormat을 사용하면 되지만 RowFilter를 이용할 경우에는 AbstractTabletInputFormat를 상속받아 RowFilter를 정의한다.

Author:
nhn

Nested Class Summary
static class AbstractTabletInputFormat.TabletColumnRecordReader
           
static class AbstractTabletInputFormat.TabletRowRecordReader
           
 
Field Summary
static java.lang.String INPUT_COLUMN_LIST
           
static java.lang.String INPUT_TABLE
           
static java.lang.String OUTPUT_TABLE
           
 
Constructor Summary
AbstractTabletInputFormat()
           
 
Method Summary
 void configure(org.apache.hadoop.mapred.JobConf job)
           
 org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit split, org.apache.hadoop.mapred.JobConf job, org.apache.hadoop.mapred.Reporter reporter)
           
abstract  RowFilter getRowFilter(org.apache.hadoop.mapred.JobConf jobConf)
          Map에서 처리할 데이터의 Filter 조건을 지정한다.
 org.apache.hadoop.mapred.InputSplit[] getSplits(org.apache.hadoop.mapred.JobConf job, int numSplits)
           
abstract  java.lang.String getTableName(org.apache.hadoop.mapred.JobConf jobConf)
          입력 테이블명을 반환한다.
abstract  boolean isRowScan(org.apache.hadoop.mapred.JobConf jobConf)
          Scan 모드가 Row단위인지 Cell 단위인지 지정한다.
 void validateInput(org.apache.hadoop.mapred.JobConf job)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INPUT_TABLE

public static final java.lang.String INPUT_TABLE
See Also:
Constant Field Values

INPUT_COLUMN_LIST

public static final java.lang.String INPUT_COLUMN_LIST
See Also:
Constant Field Values

OUTPUT_TABLE

public static final java.lang.String OUTPUT_TABLE
See Also:
Constant Field Values
Constructor Detail

AbstractTabletInputFormat

public AbstractTabletInputFormat()
                          throws java.io.IOException
Throws:
java.io.IOException
Method Detail

getTableName

public abstract java.lang.String getTableName(org.apache.hadoop.mapred.JobConf jobConf)
입력 테이블명을 반환한다.

Parameters:
jobConf -
Returns:

getRowFilter

public abstract RowFilter getRowFilter(org.apache.hadoop.mapred.JobConf jobConf)
Map에서 처리할 데이터의 Filter 조건을 지정한다.

Parameters:
jobConf -
Returns:

isRowScan

public abstract boolean isRowScan(org.apache.hadoop.mapred.JobConf jobConf)
Scan 모드가 Row단위인지 Cell 단위인지 지정한다. true를 반환하는 경우 map()에는 Row가 전달되고 false인 경우에는 ScanCell이 전달된다.

Parameters:
jobConf -
Returns:

getRecordReader

public org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit split,
                                                             org.apache.hadoop.mapred.JobConf job,
                                                             org.apache.hadoop.mapred.Reporter reporter)
                                                      throws java.io.IOException
Specified by:
getRecordReader in interface org.apache.hadoop.mapred.InputFormat
Throws:
java.io.IOException

getSplits

public org.apache.hadoop.mapred.InputSplit[] getSplits(org.apache.hadoop.mapred.JobConf job,
                                                       int numSplits)
                                                throws java.io.IOException
Specified by:
getSplits in interface org.apache.hadoop.mapred.InputFormat
Throws:
java.io.IOException

configure

public void configure(org.apache.hadoop.mapred.JobConf job)
Specified by:
configure in interface org.apache.hadoop.mapred.JobConfigurable

validateInput

public void validateInput(org.apache.hadoop.mapred.JobConf job)
                   throws java.io.IOException
Specified by:
validateInput in interface org.apache.hadoop.mapred.InputFormat
Throws:
java.io.IOException