2012-04-04 118 views
4

我有一個寫入HBase的Put操作列表。我在HTable類中發現了兩個可能的API調用HBase批量放入操作

batch(List)and put(List)。

我想知道這兩個函數在寫入性能方面有什麼區別?

回答

6

認沽(名單)確實有點多處理(在客戶端),因爲它驗證了看跌期權,但最終他們都呼籲HConnectionImplementation類

1

看跌期權(列表)相同processBatch代碼沒有序列定義在哪些數據將被插入到數據庫中...也是異步的,即在實際插入數據庫之前,所有的Puts將首先存儲在客戶端寫入緩衝區中。在批處理(List)中,放入是同步的,即它們立即被插入到數據庫中。

+0

+1尼斯信息 - 特別是關於put(list)的無序特性。你介意發佈鏈接到你發現這些細節的地方嗎? – javadba 2014-08-24 17:38:31

+0

據我記憶,我發現在'Hbase-Defined Guide'中 – Kaunteya 2014-08-26 14:53:23