hbase写:哪一个性能更好,批处理还是put(list< put>)?

0h4hbjxa  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(382)

我开始学习hbase写数据流。我使用htableinterface,性能有问题。只插入500行就花了很多时间,我插入的每个批处理列表几乎有500000行。
有没有用htableinterface批量写入htable的例子或建议?我使用的是hbase 0.94
谢谢

xbp102n0

xbp102n01#

它们本质上是一样的: batch(List<? extends Row> actions, Object[] results) 不仅允许放置,还允许获取、删除、增量。。。 put(List<Put> puts) 只需执行一批put(它还可以在客户端验证它们)。
也可以通过禁用 table.setAutoFlush(false) ,将标准放入表中,然后用 table.flushCommits() .
我不知道您的行的大小,但是除非它们很大,否则您的配置似乎有某种问题(可能是网络延迟?),即使逐行执行500次put,也应该执行得更快。

相关问题