HBase:直接从MemStore读取

HBase:直接从MemStore读取,hbase,Hbase,我试图(通过编程)在HTable中快速计算KeyValues。对于表中的每个HFiles,我得到一个HFile.Reader并调用getEntries() 我仍然需要一种方法来确定表中每个区域MemStore中KeyValues的数量。查看MemStore接口,我看到了一个keySize()方法来获取KVs的堆存储量,因此我想我可以使用该方法得出一个估计值 我想知道是否有一种方法可以像直接读取HFile一样访问尚未刷新到HFile的内存数据。MemStore的结构是否遵循HFile的结构?您没有

我试图(通过编程)在
HTable
中快速计算
KeyValues
。对于表中的每个
HFiles
,我得到一个
HFile.Reade
r并调用
getEntries()

我仍然需要一种方法来确定表中每个区域
MemStore
KeyValues
的数量。查看
MemStore
接口,我看到了一个
keySize()
方法来获取KVs的堆存储量,因此我想我可以使用该方法得出一个估计值


我想知道是否有一种方法可以像直接读取
HFile
一样访问尚未刷新到HFile的内存数据。
MemStore
的结构是否遵循
HFile
的结构?

您没有提到您正在使用的HBase版本,而是查看我的cloudera源代码I
getScanners()
,它将为您提供一个扫描程序来迭代键值

或者,您可以尝试
snapshot()
getSnapshot()
,其结果显示
size()

请注意,您需要将自己的类注入包中,以使这两个技巧中的任何一个发挥作用