我正试着(按程序)快速地数一数 KeyValues
在一个 HTable
. 对于每个表的 HFiles
,我得到一个 HFile.Reade
r和呼叫 getEntries()
.
我还需要一个方法来确定 KeyValues
在 MemStore
对于表的每个区域。在看 MemStore
接口,我看到一个 keySize()
方法来获取kvs的堆存储量,因此我想我可以使用它来导出一个估计值。
我想知道是否有一种方法可以访问内存中没有被刷新到hfile的数据 HFile
直接读取。是不是 MemStore
跟随一个 HFile
?
1条答案
按热度按时间eqqqjvef1#
你没有提到你使用的是什么版本的hbase,但是通过我的cloudera源代码我看到了
getScanners()
,这将给您一个扫描器来遍历键值。或者你可以试试
snapshot()
以及getSnapshot()
,其结果显示size()
.请注意,您需要将自己的类注入包中,才能使这些技巧发挥作用。