2013-07-10 4 views
0

데이터 저장소를 하이브에 만들고 실시간 액세스를 제공하기 위해 HBase를 사용해야합니다. 그래서 동일한 아키텍처가 무엇인지 알고 싶습니다. 먼저 HBase에서 데이터를 덤프하고 액세스 할 수 있습니까? Rest Service로서 하이브에서 외부 테이블을 생성하고 하이브 쿼리를 실행합니다. 윌 하이브 즉를 배포 할 내가 내 클러스터의 모든 노드에 하이브를 설치해야하거나 당신의 질문에 대한 대답에서데이터웨어 하우스

+1

지금까지 해본 내용을 보여주십시오. –

답변

0

중심이 될 것입니다 :

하이브가 배포됩니다.

최상의 성능을 얻으려면 클러스터의 모든 노드에 하이브를 설치하는 것이 좋습니다. Hive는 HiveQL을 MapReduce 작업으로 변환합니다. 작업은 데이터가있는 곳에서 수행됩니다. 그렇게 할 수 없다면 데이터를 작업으로 옮겨야합니다. 응답 시간을 위해서 모든 노드에서 Hive를 원할 것입니다.

HBase에 저장된 데이터를 참조하는 하이브 테이블을 만들려면 Hive - HBase Integration wiki을 확인하십시오. 다음은 간단한 예입니다.

CREATE TABLE hbase_table_1(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") 
TBLPROPERTIES ("hbase.table.name" = "xyz"); 
+0

귀하의 입력에 대해 Jeremiah에게 감사합니다. –

+0

그래서 거의 실시간 쿼리에 HBase를 사용할 수 있습니까? 데이터 변환을 위해 하이브 쿼리가 HBase 테이블에서 실행됩니다. –

+0

알겠습니다! HBase로 읽기 쉽도록 데이터를 구조화하면 HBase를 실시간 액세스 용으로 사용하고 Hive를 대량 처리 및 변환 용으로 사용할 수 있어야합니다. Hive는'INSERT' /'DELETE'에서만 사용됩니다 - 업데이트가 없습니다. –

관련 문제