通過ICE介面對hbase進行檔案操作

2021-07-27 06:52:00 字數 1510 閱讀 4249

最近開發了幾個對集群做檔案操作的模組,都是基於python(2.7)。下面記錄一下對通過ice介面,寫hbase的模組,貼出部分**。

1. 關於ice

ice是乙個中介軟體,我們可以通過ice,不考慮server和client分別是什麼,進行跨集群的操作。ice已經有很多資料可供學習,以後也會自己總結乙個關於ice的文件

2. 依賴包

ice3. 原始碼及解釋

模組實現的基本內容就是,連線ice服務,按照一定的json格式,將要操作的檔案資訊及路徑傳給ice,定的介面json如下:

zip源:

目錄源:

入庫結果:

, ]

}

實現**段:

def write_hbase(self):

for category in self.contents:

try:

self.log_info('begin to write_hbase resource {}', category)

content_info = self.contents[category]

msg = channel.message(data=channel.messagedata())

uuid_str = uuid.uuid4().hex

content = info(taskid=uuid_str, files=content_info.files, parent=content_info.parent,parenttype=content_info.parenttype)

msg.content = content.encode()

msg.data.text = ''

msg.flag = 0

result = channel.sync_call(cfgs.proxy, msg)

result_content = info().decode(result.content)

if result_content.result:

for res in result_content.result:

print('result is {}'.format(res))

if trans_bool(res.issuccess):

self.log_info('write_hbase sucess, file: {}, costtime: {}, length: {}'

.format(res.file, res.costtime, res.length))

else:

self.log_error('write_hbase fail, file: {}, reason: {}'

.format(res.file, res.reason))

else:

self.log_error('get basic data from inte***ce error:{}', result_content.error)

except:

通過openresty進行根據介面名稱進行介面限流

411 2020 07 01 10 46 03 curl o openresty openssl111 1.1.1d 1.x86 64.rpm 413 2020 07 01 10 46 52 curl o openresty resty 1.15.8.3 1.x86 64.rpm 415 2020 ...

通過呼叫小黃雞介面進行自聊天

importurllib2 importjson importsys reload sys sys.setdefaultencoding utf 8 defxiaohuangji content url r content 請求的 reson urllib2.urlopen url 得到http 的...

通過介面來對專案進行分層(模擬)

首先定義乙個介面 public inte ce dao在新建乙個類來通過介面來對資料庫進行操作 public class log1 向資料庫中新增資料 public void adddate 向資料庫中刪除資料 public void deletedate 向資料庫中修改資料 public void...