在HBase中实现批处理与checkAndPut的任何方法
我正在写HBase集群。我必须只在数据不存在时才进行写入,因此我使用在HBase中实现批处理与checkAndPut的任何方法,hbase,Hbase,我正在写HBase集群。我必须只在数据不存在时才进行写入,因此我使用checkAndPut()。但与put(List)相比,性能较差。我有没有办法把这两种操作结合起来?我试图四处看看,但什么也找不到。当您使用checkAndPut()时,每个请求执行一个RPC调用。因此,您无法获得超过每秒1/rtt请求数的性能(rtt是往返时间)。如果您的客户机和区域服务器之间有rtt 1ms,那么理论上最大值为1000 rpm。当使用诸如put(List)之类的批处理操作时,需要的RPC调用会大大减少,从而提
checkAndPut()
。但与put(List)
相比,性能较差。我有没有办法把这两种操作结合起来?我试图四处看看,但什么也找不到。当您使用checkAndPut()
时,每个请求执行一个RPC调用。因此,您无法获得超过每秒1/rtt
请求数的性能(rtt是往返时间)。如果您的客户机和区域服务器之间有rtt 1ms,那么理论上最大值为1000 rpm。当使用诸如put(List)
之类的批处理操作时,需要的RPC调用会大大减少,从而提高性能。我看到两种解决问题的方法:
HTablePool
类来管理worker中的连接使用
checkAndPut()
时,每个请求执行一个RPC调用。因此,您无法获得超过每秒1/rtt
请求数的性能(rtt是往返时间)。如果您的客户机和区域服务器之间有rtt 1ms,那么理论上最大值为1000 rpm。当使用诸如put(List)
之类的批处理操作时,需要的RPC调用会大大减少,从而提高性能。我看到两种解决问题的方法:
HTablePool
类来管理worker中的连接