한땀한땀 정성들인 코딩

[HBase]기본필터기능 본문

빅데이터

[HBase]기본필터기능

romance penguin 2017. 1. 17. 20:54
반응형

hbase를 내일 반납해야한다. ㅜㅜ

꼭 필요한 기능을 좀 메모해놔야 겠다.


읽기메소드인 get,scan은 정밀한 탐새기능을 제공하지 않아

필터 인터페이스를 이용한다.

물론 클라이언트에서 필터기능을 구현해도 되지만 모든 data를 리전서버에서 가져와 적절하지 않다.



CompareFIlter계열 필터에 사용되는 비교 연산자

LESS 작은값

LESS_OR_EQUAL

EQUAL

NOT_EQUAL 일치하지 않는값

GREATER_OR_EQUAL

GREATER 큰값

NO_OP 모든값을 배제


비교자

BinaryComparator 현재값과 비교

BinaryPrefixComparator

NullComparator

BitComparator 비트단위 비교

RegexStringComparator 정규식 비교

SubstringComparator String인스턴스로 취급하여 contains검사 수행(포함하는지 여부)

null,bit,sub equal,not_equal 연산만 지원



로우필터

Filter filter = new RowFilter(CompareFilter.CompareOp.LESS_OR_EQUAL,new BinaryComparator(Bytes.toBytes("row-22")));

scan.setFilter(filter);

ResultScanner scanner = table.getScanner(scan);

ResultScanner scanner = table.getScanner(scan);

for(Result res: scanner){

System.out.println(res);

}


FamilyFilter - 컬럼패밀리 필터

QualifierFilter - 퀄리파이어

ValueFilter - 값::



의존컬럼 필터 - 필터인자값을 유동적으로 받아서 처리할수가 있다.

public static void filter(boolean drop, CompareFilter.CompareOp operator,WritableByteArrayComparable comparator) throws IOException{

Filter filter;

if(comparator != null){

filter = new DependentColumnFilter(Bytes.toBytes("colfam1"),Bytes.toBytes("col-5"),drop,operator,comparator);

}else{

filter = new DependentColumnFilter(Bytes.toBytes("colfam1"),Bytes.toBytes("col-5"),drop);

}

}


filter(true,CompareFilter.CopareOp.NO_OP,null);

filter(true,CompareFilter.CopareOp.EQUAL,new BinaryPrefixComparator(Bytes.toBytes("val-5")));


반응형

'빅데이터' 카테고리의 다른 글

[HBase]그외 필터들, 필터리스트  (0) 2017.01.17
[HBase]단일컬럼값 필터  (0) 2017.01.17
[빅데이터]원천데이터  (0) 2017.01.17
[spark]스파크 코어  (0) 2017.01.17
[spark]스파크 생태계  (0) 2017.01.16