...
Code Block | ||
---|---|---|
| ||
public class HBaseConstants { public static final String CONF_OUTPUT_VERSION_KEY = HCatConstants.HCAT_DEFAULT_TOPIC_PREFIX+".hbase.outputVersion"; public static final String CONF_TABLE_NAME_KEY = HCatConstants.HCAT_DEFAULT_TOPIC_PREFIX+".hbase.tableName"; public static final String CONF_COLUMN_MAPPING_KEY = HCatConstants.HCAT_DEFAULT_TOPIC_PREFIX+"."+ HBaseSerDe.HBASE_COLUMNS_MAPPING; } |
HBaseDirectStorageDriver itself is a pretty straightforward implementation. HBaseDirectOutputFormat decorates HBase's TableOutputFormat or we can implement one ourselves controlling the client directly enabling us better flexibility with tuning ie disabling WAL for higher write rates. This OutputFormat's key is not used and the Value can only be either a an HBase Put or Delete.
Code Block | ||
---|---|---|
| ||
public class HBaseDirectOutputFormat extends OutputFormat<WritableComparable<?>,Writable> implements Configurable { .... } |
...
HBaseBulkOutputFormat also does not use the key field and the value can only be either a Put or a Delete. These classes implements Writable so no extra work is needed to serialize them.
...