hive映射hbase设置timestamp

Hi @Dijin Thomas, yes HIVE-2828 works in HDP-2.3.2 (and most likely 2.3.0) however, only the latest timestamp and value are accessible in Hive. Below I created a HBase table which can keep 2 versions, and "put" 2 values using key=110. HBase can see both, but Hive can see only the latest one.

hbase(main):018:0> create 'thv1', {NAME => 'c', VERSIONS => 2}
hbase(main):021:0> put 'thv1','100','c:name','jim'
hbase(main):022:0> put 'thv1','110','c:name','jim'
hbase(main):023:0> put 'thv1','110','c:name','bob'
hbase(main):025:0> scan 'thv1'
ROW                              COLUMN+CELL
100                             column=c:name, timestamp=1455445756909, value=jim
110                             column=c:name, timestamp=1455445163040, value=bob
hbase(main):029:0> get 'thv1','110',{TIMERANGE =>[0,1455445163050], VERSIONS => 2}
COLUMN                           CELL
 c:name                         timestamp=1455445163040, value=bob
 c:name                         timestamp=1455445076368, value=jim
hive> create external table hb1(id string,name string,ts timestamp) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,c:name,:timestamp') TBLPROPERTIES('hbase.table.name' = 'thv1');
 
hive> select *, UNIX_TIMESTAMP(ts) uts from hb1;
100      jim        2016-02-14 10:29:16.909       1455445756
110      bob        2016-02-14 10:19:23.04        1455445163

 

转载于:https://my.oschina.net/sniperLi/blog/910014

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值