Apache Hive - Apache HBase 연동

최지영·2022년 5월 4일
0

📖 HBase와 Hive 연동하기

📃 HBase 테이블 생성

HBase Emp 테이블 생성 후 데이터 삽입

hbase:001:0> create 'emp','personal'
hbase:002:0> put 'emp',1,'personal:name','pojo'

📃 Hive 실행

HBase에 접근하기 위해 ZooKeeper주소를 커맨드라인으로 실행할때 인자로 넣어주기!👍
다른방법으로는 hive-site.xml에 다음 아래와 같이 추가

 <property>
 	<name>hbase.zookeeper.quorum</name>
    <value> pipeline-zookeeper-a,pipeline-zookeeper-b,pipeline-zookeeper-c </value>
 </property>
hive --auxpath $HIVE_HOME/lib/hive-hbase-handler-3.1.2.jar  --hiveconf hbase.zookeeper.quorum=pipeline-zookeeper-a,pipeline-zookeeper-b,pipeline-zookeeper-c

📃 Hive 외부 테이블 생성

  • 외부 테이블명으로 hbase_table_emp(으)로 생성
  • column 매핑으로 key값과 personal컬럼 패밀리의 name을 각각 첫번째 줄 (id,name)으로 매핑
  • TBLPROPERTIES = Hbase의 테이블명을 지정
CREATE EXTERNAL TABLE hbase_table_emp(id int, name string) \ 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' \
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,personal:name") \ 
TBLPROPERTIES ("hbase.table.name" = "emp");

📃 HBase 테이블 매핑 후 데이터 조회

hive> select * from hbase_table_emp;
OK
1       pojo

✨ HBase 버전 / Hive 버전 / Hadoop 버전

  • HBase = 2.4.11
  • Hive = 3.1.2
  • Hadoop = 3.2.2

0개의 댓글