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