Is the HBase put put (List <Put>) package faster than put (Put)? What is the capacity of a put object?

I am working on a batch job to handle a batch of Put objects in HBase through an HTableInterface. There are two API methods: HTableInterface.put (List) and HTableInterface.put (Put).

I am wondering, for the same number of Put objects, is this a batch post faster than placing them one by one?

Another question: I put a very large Put object, which made the job fail. There seems to be a limit on the size of the Put object. How big is he?

+5
source share
5 answers

, puts .

<property>   
    <name>hbase.client.write.buffer</name>
    <value>20971520</value> 
</property>

2 , .

+2

put(List<Put> puts) put(Put aPut) . doPut(List<Put> puts).

, @ozhang. - 2 .

<property>   
     <name>hbase.client.write.buffer</name>
     <value>20971520</value> 
</property>

, , 1 RPC flushCommits(). , , , .

+2

, puts, HTableInterface.put(List<Put> puts), RPC ,

+1

RPC put (List puts).

Put: KeyValue 10 . , , KeyValue.

hbase.client.keyvalue.maxsize

KeyValue. , . , , , . . .

: 10485760

+1

Please note that this is deprecated

p̶u̶t̶ (̶L̶i̶s̶t̶ <̶P̶u̶t̶> ̶ ̶p̶u̶t̶s̶) ̶ ̶o̶r̶ ̶p̶u̶t̶ (̶P̶u̶t̶ ̶a̶P̶u̶t̶) ̶ ̶a̶r̶e̶ ̶t̶h̶e̶ ̶s̶a̶m̶e̶ ̶u̶n̶d̶e̶r̶ ̶t̶h̶e̶ ̶h̶o̶o̶d̶.̶ ̶T̶h̶e̶y̶ ̶b̶o̶t̶h̶ ̶c̶a̶l̶l̶ ̶d̶o̶P̶u̶t̶ (̶L̶i̶s̶t̶ <̶P̶u̶t̶> ̶ ̶p̶u̶t̶s̶) ̶.̶

Now there are new tools. org.apache.hadoop.hbase.client.AsyncRequestFutureImpl.SingleServerRequestRunnable#run MultiServerCallable

A callable that processes a multi method call directed against a single region server

Therefore, I think the answer to your first question is yes.

I'll someday test this with a test.

0
source

All Articles