hbase配置单元集成

dm7nw8vv  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(259)

我创建了一个hbase,将默认版本称为5
创建'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}

现在创建了一个配置单元外部表来指向这个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\u timestampupdate时,我能够看到数据。
默认情况下,我将根据时间戳获取最新更新的数据。这里我还想查询不同版本的数据。
用于获取hbase的不同版本数据的配置单元命令。
请帮忙。
提前谢谢。

f1tvaqid

f1tvaqid1#

从https://cwiki.apache.org/confluence/display/hive/hbaseintegration
当前无法访问hbase timestamp属性,查询总是使用最新的时间戳访问数据。

相关问题