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源代码IgetScanners()
,它将为您提供一个扫描程序来迭代键值
或者,您可以尝试snapshot()
和getSnapshot()
,其结果显示size()
请注意,您需要将自己的类注入包中,以使这两个技巧中的任何一个发挥作用