2012-04-04 1 views
4

Ich habe eine Liste von Put-Operationen auf HBase zu schreiben. Ich fand zwei mögliche API-Aufrufe in HTable-KlasseHBase Batch-Put-Operation

Batch (Liste) und setzen (Liste).

Ich frage mich, was ist der Unterschied zwischen diesen beiden Funktionen in Bezug auf Schreibleistung?

Antwort

6

put (Liste) tut ein wenig mehr Verarbeitung (auf der Client-Seite), da sie die Puts validieren, aber schließlich sie beide den gleichen processBatch Code auf der HConnectionImplementation Klasse

1

In put (List) nennen gibt es keine Sequenz definiert in denen Puts in DB eingefügt werden ... auch asynchron dh alle Puts werden zuerst im clientseitigen Schreibpuffer vor dem eigentlichen Einfügen in DB gespeichert. Im Stapel (Liste) sind die Puts synchron, d. H. Sie werden sofort in die DB eingefügt.

+0

+1 Schöne Info - vor allem über die ungeordnete Eigenschaft des Put (Liste). Würde es Ihnen etwas ausmachen, einen Link zu veröffentlichen, wo Sie diese Details gefunden haben? – javadba

+0

Soweit ich mich erinnere, habe ich das im 'Hbase -Definitive Guide' Buch gefunden – Kaunteya