Details
-
New Feature
-
Status: Patch Available
-
Minor
-
Resolution: Unresolved
-
0.14.0
-
None
-
None
Description
Previous attempts HIVE-2781 (not accepted), HIVE-2828 (broken and proposed with restricted feature).
The feature is to have hbase cell latest timestamp accessible in hive query, by mapping the cell timestamp with a hive column, using mapping format like
:timestamp:cf:[optional qualifier or qualifier prefix]
The hive create table statement would be like
For mapping a cell latest timestamp.
CREATE TABLE hive_hbase_table (key STRING, col1 STRING, col1_ts BIGINT) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:qualifier, :timestamp:cf:qualifier") TBLPROPERTIES ("hbase.table.name" = "hbase_table");
For mapping a column family latest timestamp.
CREATE TABLE hive_hbase_table (key STRING, valuemap MAP<STRING, STRING>, timestampmap MAP<STRING, BIGINT>) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:,:timestamp:cf:") TBLPROPERTIES ("hbase.table.name" = "hbase_table");
Providing default cell value
CREATE TABLE hive_hbase_table(key int, value string, value_timestamp bigint) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf:qualifier, :timestamp:cf:qualifier", "hbase.put.default.cell.value" = "default value") TBLPROPERTIES ("hbase.table.name" = "hbase_table");