W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
在特定事件發(fā)生之前或之后觸發(fā)觀察者協(xié)處理器。在事件之前發(fā)生的觀察者使用以pre前綴開頭的方法,例如,prePut。觀察者發(fā)生在以post前綴(如postPut)開頭的事件覆蓋方法之后。
在執(zhí)行Get
或Put
操作之前,您可以使用preGet
或prePut
方法檢查權限。
HBase不直接支持refential完整性的RDBMS概念,也稱為外鍵。您可以使用協(xié)處理器來強制執(zhí)行此類完整性。例如,如果您有一個業(yè)務規(guī)則,users
表中的每個插入必須后跟user_daily_attendance
表中的相應條目,您可以實現協(xié)處理器以在user
使用該prePut
方法向user_daily_attendance
插入記錄。
您可以使用協(xié)處理器來維護二級索引。
RegionObserver協(xié)處理器允許您觀察區(qū)域上的事件,例如Get
和Put
操作。
RegionServerObserver允許您觀察與RegionServer操作相關的事件,例如啟動,停止或執(zhí)行合并,提交或回滾。
MasterObserver允許您觀察與HBase Master相關的事件,例如表創(chuàng)建,刪除或架構修改。
WalObserver允許您觀察與寫入預寫日志(WAL)相關的事件。
示例提供了觀察者協(xié)處理器的工作示例。
端點處理器允許您在數據位置執(zhí)行計算。例如,需要計算橫跨數以百計區(qū)域的整個表的運行平均值或求和。
與您的代碼透明運行的觀察器協(xié)處理器相比,端點協(xié)處理器必須使用Table或HTable中提供的CoprocessorService()方法顯式調用。
從HBase 0.96開始,端點協(xié)處理器使用Google Protocol Buffers(protobuf)實現。以0.94版本編寫的端點協(xié)處理器與0.96或更高的版本不兼容。見HBASE-5448)。要將HBase群集從0.94或更早版本升級到0.96或更高版本,您需要重新實現協(xié)處理器。
協(xié)處理器端點不應使用HBase內部構件,只能利用公共API;理想情況下,CPEP應僅依賴于接口和數據結構。這并不總是可行的,但要注意這樣做會使端點變脆弱,隨著HBase內部的發(fā)展而易于破損。注釋為私有或演進的HBase內部API在刪除之前不必遵守語義版本規(guī)則或關于棄用的一般Java規(guī)則。雖然生成的protobuf文件沒有hbase受眾注釋 - 它們是由protobuf protoc工具創(chuàng)建的,它不知道HBase是如何工作的 - 它們應該被認為是@InterfaceAudience.Private,因此容易改變。
在接下來的“示例”一節(jié),提供了端點協(xié)處理器的工作示例。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: