복붙노트

[HADOOP] 타임 스탬프에 따라 하이브에서 HBase를 테이블 데이터에 액세스

HADOOP

타임 스탬프에 따라 하이브에서 HBase를 테이블 데이터에 액세스

나는 10로 기본 버전을 언급하여 HBase를을 만들었습니다

create 'tablename',{NAME => 'cf', VERSIONS => 10}

삽입 두 행 (ROW1 및 ROW2)

put 'tablename','row1','cf:id','row1id'
put 'tablename','row1','cf:name','row1name'
put 'tablename','row2','cf:id','row2id'
put 'tablename','row2','cf:name','row2name'
put 'tablename','row2','cf:name','row2nameupdate'
put 'tablename','row2','cf:name','row2nameupdateagain'
put 'tablename','row2','cf:name','row2nameupdateonemoretime'

스캔을 사용하여 데이터를 선택하기 위해 시도

scan 'tablename',{RAW => true, VERSIONS => 10}

나는 모든 버전의 데이터를 볼 수 있어요.

이제이 HBase와 테이블을 가리 키도록 하이브 외부 테이블을 생성

CREATE EXTERNAL TABLE hive_timestampupdate(key int, value string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:name")
TBLPROPERTIES ("hbase.table.name" = "tablename");

나는 테이블 hive_timestampupdate를 조회 할 때, 나는 HBase를 테이블의 데이터를 볼 수 있어요.

select * from hive_timestampupdate;

여기에 타임 스탬프를 기반으로 데이터를 조회 할. HBase를 테이블의 타임 스탬프를 기반으로 데이터를 조회하는 방법이 있나요?

해결법

  1. ==============================

    1.불행하게도. 하이브 HBase를 통합 문서에 따르면,

    불행하게도. 하이브 HBase를 통합 문서에 따르면,

    이 타임 스탬프 관련 기능에 대해 이야기 몇 가지 JIRAs가 있지만, 그들은 정말 당신이 무엇을 요구하지 않는다, 그들은 좋은 수신을 :( 못 했어

  2. from https://stackoverflow.com/questions/29371987/accessing-hbase-table-data-from-hive-based-on-time-stamp by cc-by-sa and MIT license