我正在尝试(以编程方式)快速计算KeyValues
中的HTable
。对于表HFiles
中的每一个,我得到一个HFile.Reade
r并致电getEntries()
。
我仍然需要一种方法来确定表格中每个区域KeyValues
中MemStore
的数量。查看MemStore
接口,我看到一个keySize()
方法来获取KV的堆存储量,所以我想我可以使用它来获得估计值。
我想知道是否有办法以与直接读取HFile
相同的方式访问尚未刷新到HFile的内存数据。 MemStore
的结构是否遵循HFile
的结构?
答案 0 :(得分:0)
您没有提及您正在使用的HBase版本,但查看我的cloudera来源see getScanners()
,它将为您提供一个扫描程序来迭代键值。< / p>
或者,您可以尝试snapshot()
和getSnapshot()
,其结果会显示size()
。
请注意,您需要将自己的类注入包中,才能使这些技巧发挥作用。