hbase:直接从memstore读取

c86crjj0  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(294)

我正试着(按程序)快速地数一数 KeyValues 在一个 HTable . 对于每个表的 HFiles ,我得到一个 HFile.Reade r和呼叫 getEntries() .
我还需要一个方法来确定 KeyValuesMemStore 对于表的每个区域。在看 MemStore 接口,我看到一个 keySize() 方法来获取kvs的堆存储量,因此我想我可以使用它来导出一个估计值。
我想知道是否有一种方法可以访问内存中没有被刷新到hfile的数据 HFile 直接读取。是不是 MemStore 跟随一个 HFile ?

eqqqjvef

eqqqjvef1#

你没有提到你使用的是什么版本的hbase,但是通过我的cloudera源代码我看到了 getScanners() ,这将给您一个扫描器来遍历键值。
或者你可以试试 snapshot() 以及 getSnapshot() ,其结果显示 size() .
请注意,您需要将自己的类注入包中,才能使这些技巧发挥作用。

相关问题