Hbase 学习(二)补充 自定义filter

本来这个内容是不单独讲的,但是因为上一个页面太大,导致Live Writer死机了,不能继续编辑了,所以就放弃了

这里要讲的是自定义filter,从FilterBase继承

复制代码

public class CustomFilter extends FilterBase {    private byte[] value = null;    private boolean filterRow = true;    public CustomFilter() {        super();
    }    public CustomFilter(byte[] value) {        this.value = value;
    }

    @Override    public void reset() {        this.filterRow = true;
    }

    @Override    public ReturnCode filterKeyValue(KeyValue kv) {        if (Bytes.compareTo(value, kv.getValue()) == 0) {

            filterRow = false;
        }        return ReturnCode.INCLUDE;
    }

    @Override    public boolean filterRow() {        return filterRow;
    }

    @Override    public void write(DataOutput dataOutput) throws IOException {
        Bytes.writeByteArray(dataOutput, this.value);
    }

    @Override    public void readFields(DataInput dataInput) throws IOException {        this.value = Bytes.readByteArray(dataInput);
    }
}

复制代码

 

然后打成jar包,要在hbase-env.sh中指明路径。

export  HBASE_CLASSPATH="/hbase/target/hbase-customfilter.jar",然后就可以在客户端中使用它了。


你可能感兴趣的:(Hbase 学习(二)补充 自定义filter)