【发布时间】:2015-04-10 10:53:48
【问题描述】:
我通过将默认版本提到为 5 创建了一个 HBase
创建 'tablename',{NAME => 'cf', VERSIONS => 5} 并插入两行(row1 和 row2)
put 'tablename','row1','cf:id','row1id'
put 'tablename','row1','cf:name','row1name'
put 'tablename','row2','cf:id','row2id'
put 'tablename','row2','cf:name','row2name'
put 'tablename','row2','cf:name','row2nameupdate'
put 'tablename','row2','cf:name','row2nameupdateagain'
尝试使用扫描选择数据,我正在获取最新更新的数据。 当我尝试使用以下命令选择不同的版本数据时,我得到了不同的版本数据。
scan 'tablename',{RAW => true, VERSIONS => 5}
现在创建了一个 Hive 外部表来指向这个 HBase 表
CREATE EXTERNAL TABLE hive_timestampupdate(key int, value string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:name")
TBLPROPERTIES ("hbase.table.name" = "tablename");
select * from hive_timestampupdate
当我查询表 hive_timestampupdate 时,我能够看到数据。
默认情况下,我会根据时间戳获取最新更新的数据。 这里也想查询不同版本的数据。
Hive 命令将获取 HBase 的不同版本数据。
请帮忙。
提前致谢。
【问题讨论】:
-
在我写这篇评论之前,有人发布了垃圾邮件作为这个问题的“答案”。这就是 Q 受到保护的原因。