我们有一个带有1列族的hbase表,其中有15亿条记录。
已使用命令检索hbase行计数
"count '<tablename>'", {CACHE => 1000000}.
hbase到hive的Map是用下面的命令完成的。
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');
但是当我们使用下面的命令检索配置单元行数时,
select count(*) from stagingdata;
它在配置单元Map表中只显示了1.4亿行。
我们尝试了类似的方法,用于较小的hbase,它有1亿条记录,完整的记录显示在配置单元Map表中。
我的问题是为什么完整的15亿条记录没有出现在Hive里?
我们有什么遗漏吗?
如能立即答复,我们将不胜感激。谢谢,马杜。
1条答案
按热度按时间4si2a6ki1#
您在配置单元中看到的是每个密钥的最新版本,而不是密钥的所有版本
当前无法访问hbase timestamp属性,查询总是使用最新的时间戳访问数据。
hive hbase集成