문제

MapReduce 프로그램을 작성하고 값을 평균 할 필요없이 HBase에서 특정 RowKey 버전을 가져 오는 방법이 있는지 궁금합니다.나는 이것이 Hive 또는 Impala (또는 다른 유사한 프로그램)를 사용하여 가능했는지 여부와이를 어떻게 할 수 있는지 궁금했습니다.

내 테이블은 다음과 같습니다 :

  Composite keys          Values 
  (md5 + date + id) | (value)
.

모든 버전의 특정 날짜 및 ID의 하위 문자열의 모든 값을 평균하고 싶습니다.

앞에서 감사드립니다.

도움이 되었습니까?

해결책

Impala는 Hive MetaStore를 사용하여 HDF 또는 HBase에 물리적으로 저장된 데이터에 테이블의 논리적 개념을 매핑합니다 (자세한 내용은 cloudera 문서 ).

HBase에 저장된 데이터에 대해 Hive Metastore에 알리는 방법에 대해 자세히 알아 보려면 하이브 문서 .

불행히도 위에 연결된 하이브 문서에서 언급했듯이 :

현재 HBase Timestamp 속성에 액세스 할 수있는 방법이 없습니다. 쿼리는 항상 최신 시간 소인으로 데이터에 액세스

Hive- 2828 이지만, 불행히도 그 작업이 아직 트렁크에 병합되지 않았지만

응용 프로그램의 경우 HBase 스키마를 재 설계하여 "버전"열을 포함 하고이 새 열에 대해 Hive Metastore에 알리고 응용 프로그램을이 열을 알게하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top