溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hbase協(xié)處理器coprocessor

發(fā)布時間:2020-07-30 00:27:01 來源:網(wǎng)絡(luò) 閱讀:2407 作者:jethai 欄目:關(guān)系型數(shù)據(jù)庫

對每個region進(jìn)行處理,彌補了scan的時候有限的幾個過濾器的不足


分為兩種類型


  1. observer 觀察者相當(dāng)于觸發(fā)器

  2. Endpoint終端相當(dāng)于存儲過程



下面的觀察者實現(xiàn)查詢之前替換掉行鍵為Jack的KeyValue

import java.io.IOException;
import java.util.List;

import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver;
import org.apache.hadoop.hbase.coprocessor.ObserverContext;
import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
import org.apache.hadoop.hbase.util.Bytes;

public class RegionObserverTest extends BaseRegionObserver {
    private static byte[] fixed_rowkey = "Jack".getBytes();

    @Override
    public void postGet(ObserverContext<RegionCoprocessorEnvironment> c,
            Get get, List<KeyValue> result) throws IOException {
        if (Bytes.equals(get.getRow(), fixed_rowkey)) {

            KeyValue kv = new KeyValue(get.getRow(), Bytes.toBytes("time"),
                    Bytes.toBytes("time"), Bytes.toBytes(System
                            .currentTimeMillis()));
            result.add(kv);
        }
    }

}

加載協(xié)處理器命令

disable 'students'
alter 'students' ,'coprocessor'=>'hdfs://ns1/coprocessor.jar|com.hbase.RegionObserverTest||'
enable 'students'


alter 'table_name' ,METHOD=>'table_att', 'coprocessor'=>'path|class|number|args'

number表示第幾個協(xié)處理器

刪除第一個協(xié)處理器

alter 'table_name' ,METHOD=>'table_att_unset',NAME=>'coprocessor$1'

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI