如何在HBase中实现缓冲写入的大小调整?

时间:2014-08-29 22:19:34

标签: java hbase

HBase允许您以批处理模式进行投注。您可以按字节指定批处理大小。只要底层缓冲区已满,它就会被推送到服务器。

HBase如何计算每个put的大小?有什么办法可以动态计算Java对象的大小吗?如果是这样,可以便宜地计算吗?

1 个答案:

答案 0 :(得分:1)

HBase使用PutKeyValue s的大小的启发式近似来决定何时刷新缓冲的编写器,因为see here可以。{/ p>

heapSize()方法由HeapSize界面引入,KeyValuePut都实现了该界面。

特别注意KeyValue使用其自身实现的意识仅仅提供对其自身大小的合理准确的估计。精确计算大小没有语言级别的魔力。

KeyValue#heapSize是一个恒定时间算法。 Put#heapSize与所包含的KeyValues的数量呈线性关系,我认为它对于大多数用途来说足够快,因为个别信息通常只有不到一千个信元。