我们有一个包含1个列族的HBase表,其中有15亿条记录。
使用命令
检索HBase行计数"count '<tablename>'", {CACHE => 1000000}.
使用以下命令完成HBase to Hive Mapping。
create external table stagingdata(
rowkey String,
col1 String,
col2 String
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
'hbase.columns.mapping' = ':key,
n:col1,
n:col2,
')
TBLPROPERTIES('hbase.table.name' = 'hbase_staging_data');
但是我们使用以下命令检索Hive Row Count,
select count(*) from stagingdata;
它只在Hive Mapped Table中显示了1.4亿行。
我们尝试过类似的方法,用于更小的HBase,有1亿条记录,完整的记录显示在Hive Mapped Table中。
我的问题是为什么完整的15亿条记录没有出现在Hive中?
我们在这里遗失了什么吗?
您的即时答复将受到高度赞赏。 谢谢, 马杜。
答案 0 :(得分:0)
您在配置单元中看到的是每个密钥的最新版本,而不是密钥的所有版本
目前无法访问HBase timestamp属性,并且 查询始终使用最新的时间戳访问数据。