W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
在HBase中,使用“Get”或者“Scan”獲取數據,而在RDBMS中使用SQL查詢。為了僅獲取相關數據,您可以使用HBase Filter過濾它 ,而在RDBMS中使用WHERE謂詞。
獲取數據后,您可以對其執(zhí)行計算。這種范例適用于具有幾千行和幾列的“小數據”。但是,當您擴展到數十億行和數百萬列時,在網絡中移動大量數據將在網絡層產生瓶頸,客戶端需要足夠強大并且有足夠的內存來處理大量數據和計算。此外,客戶端代碼可能變得龐大而復雜。
在這種情況下,協(xié)處理器可能有意義。您可以將業(yè)務計算代碼放入在RegionServer上運行的協(xié)處理器中,與數據位于同一位置,并將結果返回給客戶端。
這只是使用協(xié)處理器可以帶來好處的一種情況。以下是一些類比,可能有助于解釋協(xié)處理器的一些好處。
Observer協(xié)處理器類似于RDBMS中的觸發(fā)器,因為它在特定事件(例如,Get
或Put
)發(fā)生之前或之后執(zhí)行代碼。端點協(xié)處理器類似于RDBMS中的存儲過程,因為它允許您對RegionServer本身上的數據而不是客戶端上的數據執(zhí)行自定義計算。
MapReduce的工作原理是將計算移動到數據位置。協(xié)處理器在相同的主體上運行。
如果您熟悉面向方面編程(AOP),則可以將協(xié)處理器視為通過攔截請求然后運行某些自定義代碼來應用建議,然后將請求傳遞到其最終目標(甚至更改目標)。
使用HBase Shell靜態(tài)或動態(tài)地加載協(xié)處理器。
框架API在協(xié)處理器包中提供。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: