我开始学习hbase写数据流。我使用htableinterface,性能有问题。只插入500行就花了很多时间,我插入的每个批处理列表几乎有500000行。有没有用htableinterface批量写入htable的例子或建议?我使用的是hbase 0.94谢谢
xbp102n01#
它们本质上是一样的: batch(List<? extends Row> actions, Object[] results) 不仅允许放置,还允许获取、删除、增量。。。 put(List<Put> puts) 只需执行一批put(它还可以在客户端验证它们)。也可以通过禁用 table.setAutoFlush(false) ,将标准放入表中,然后用 table.flushCommits() .我不知道您的行的大小,但是除非它们很大,否则您的配置似乎有某种问题(可能是网络延迟?),即使逐行执行500次put,也应该执行得更快。
batch(List<? extends Row> actions, Object[] results)
put(List<Put> puts)
table.setAutoFlush(false)
table.flushCommits()
1条答案
按热度按时间xbp102n01#
它们本质上是一样的:
batch(List<? extends Row> actions, Object[] results)
不仅允许放置,还允许获取、删除、增量。。。put(List<Put> puts)
只需执行一批put(它还可以在客户端验证它们)。也可以通过禁用
table.setAutoFlush(false)
,将标准放入表中,然后用table.flushCommits()
.我不知道您的行的大小,但是除非它们很大,否则您的配置似乎有某种问题(可能是网络延迟?),即使逐行执行500次put,也应该执行得更快。