2013-10-16 73 views
0

我需要增加對HBase的設置讀/寫操作的性能,在我的設置沒有必要WAL的開啓,請告訴我如何將關斷WAL如何關閉WAL在HBase的,

請給我你的建議/提示。

在此先感謝

回答

1

Here就怎麼打開WAL關閉HBase的文檔。

+0

感謝爲此。@ Praveen Sripati是否有用於關閉WAL的任何xml文件,因爲我是用python插入和刪除數據到hbase的, – Naren

0

您可以使用HBase的thrift API

當你有突變的列表,你可以指定不寫WAL

struct Mutation { 
    1:bool isDelete = 0, 
    2:Text column, 
    3:Text value, 
    4:bool writeToWAL = 1 
} 

一旦你generated a thirft client 可以

from thrift.transport.TSocket import TSocket 
from thrift.transport.TTransport import TBufferedTransport 
from thrift.protocol import TBinaryProtocol 
from hbase import Hbase 

transport = TBufferedTransport(TSocket('localhost', 9090)) 
transport.open() 
protocol = TBinaryProtocol.TBinaryProtocol(transport) 
client = Hbase.Client(protocol) 
table_name = 'theTable' 
row_key = 'test_row1' 
colfamily = 'test_colfamily1' 
qualifier = 'test_col1' 
fullyqualied = ('%s:%s' % (colfamily, qualifier)) 
value = 'some value' 
client.mutateRow(table_name, row_key, [Mutation(column=fullyqualified, value=value,writeToWAL=false)], {}) 
+0

我是使用python庫幸福基地插入和刪除,我想關閉WAL的所有插入,有沒有其他方式像修改XML文件在hbase(配置文件)。請給你的建議感謝進步.... @ Arnon Rotem-Gal -Oz – Naren

+0

我不知道在HBase中完全關閉WAL的方法(這並不是說沒有)。無論如何,happybase的源代碼都在git https://github.com/wbolster/happybase/tree/happybase-0.6上,所以你可以添加noWAL支持 –