2017-03-31 2 views
1

나는 Hbase 테이블을 가지고있다 : 컬럼 패밀리와 함께 employeedetails : cols-personaldetails : firstname, lastname, professionaldetails : cols-company, empid 그리고 다음과 같은 데이터가있다.Hbase 테이블의 조건을 기반으로 레코드를 검색하는 방법은 무엇입니까?

1 column=personaldetails:firstname, timestamp=1490959927100, value=Steven 
1 column=personaldetails:lastname, timestamp=1490959947478, value=Gerrard 
1 column=professionaldetails:company, timestamp=1490959968846, value=ABC 
1 column=professionaldetails:empid, timestamp=1490959978542, value=02429O 
2 column=personaldetails:firstname, timestamp=1490960007427, value=Sidhartha 
2 column=personaldetails:lastname, timestamp=1490960054615, value=Bobby 
2 column=professionaldetails:company, timestamp=1490960074243, value=DEF 
2 column=professionaldetails:empid, timestamp=1490960103882, value=02429N 
3 column=personaldetails:company, timestamp=1490960175772, value=WES 
3 column=personaldetails:empid, timestamp=1490960187863, value=987789 
3 column=personaldetails:firstname, timestamp=1490960128896, value=Sunny 
3 column=personaldetails:lastname, timestamp=1490960142031, value=Smith 

'S'로 시작하는 이름의 레코드를 검색하는 명령을 작성하는 방법이 있습니까?

답변

2

사용

SingleColumnValueFilter

이 필터는 열 가족 규정하는 비교 연산자와 같은 인자 비교기 걸린다.

  1. 지정된 열이 없으면 해당 행의 모든 ​​열 이 방출됩니다.
  2. 열이 발견되어 비교 자 과의 비교가 true을 반환하면 행의 모든 ​​열이 방출됩니다.
  3. 열이 발견되어 비교 자 과의 비교가 false을 반환하면 행이 방출되지 않습니다.

구문 :

SingleColumnValueFilter (‘<family>’, ‘<qualifier>’, <compare operator>, ‘<comparator>’, <filterIfColumnMissing_boolean>, <latest_version_boolean>) 

시도해보십시오 filterIfColumnMissing 플래그가 true로 설정하면 경우

scan 'employeedetails' ,{ FILTER => "SingleColumnValueFilter('personaldetails','firstname',=, 'binaryprefix:S', true, false)" } 

, 행의 열이 방출되지 않습니다 검사 할 지정한 열이 행에 없습니다.

예상 결과가 검색되는지 알려주세요.

+1

스폿이 켜져 있습니다. 작동 중입니다. – Sidhartha

0

가장 좋은 방법은 HBase 테이블과 동일한 스키마 매핑을 사용하여 Hive에서 외부 테이블을 만들고 HBase 테이블의 맨 위에서 하이브 쿼리를 실행할 수 있다는 것입니다.

HBase 테이블 데이터의 맨 위에서 실행되는 하이브 쿼리의 조건을 사용할 수 있습니다.

HBase와 하이브를 통합하고 HBase 테이블 맨 위에서 하이브 쿼리를 실행하려면 refer to this blog을 사용할 수 있습니다.

+1

하이브에서 Hbase로 데이터를 복사합니다. Hbase에 필터를 사용하는 것과 같은 옵션이 있는지 배우고 싶습니다. @franklinsijo 님이 제공 한 답변이 효과적입니다. – Sidhartha