...
Column Mapping
There are two SERDEOPTIONS
SERDEPROPERTIES
that control the mapping of HBase columns to Hive:
...
No Format |
---|
CREATE TABLE hbase_table_1 (key int, value string, foobar double) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ( "hbase.columns.mapping" = ":key,cf:val#s,cf:foo", "hbase.table.default.storage.type" = "binary" ); |
Put Timestamps
Info | ||
---|---|---|
| ||
As of Hive 0.9.0 |
If inserting into a HBase table using Hive the HBase default timestamp is added which is usually the current timestamp. This can be overridden on a per-table basis using the SERDEPROPERTIES
option hbase.put.timestamp
which must be a valid timestamp or -1
to reenable the default strategy.
Key Uniqueness
One subtle difference between HBase tables and Hive tables is that HBase tables have a unique key, whereas Hive tables do not. When multiple rows with the same key are inserted into HBase, only one of them is stored (the choice is arbitrary, so do not rely on HBase to pick the right one). This is in contrast to Hive, which is happy to store multiple rows with the same key and different values.
...