내 잡다한 노트

Hive 메타스토어 본문

데이터엔지니어/Hive

Hive 메타스토어

peanutwalnut 2025. 1. 23. 21:31

하이브의 메타정보는 파일의 물리적인 위치와 데이터에 대한 논리적인 정보로 구분할 수 있다.

이 메타정보를 보관하고 사용자의 요청에 따라 관련 정보를 제공하는 곳이 하이브 메타스토어이다.

 

메타스토어 타입은 실행 유형에 따라 3가지로 나뉜다.

 

1. 임베디드 메타스토어

기본설정의 하이브는 더비 DB를 사용하게 된다. 이때, 이 메타스토어는 한번에 한명의 유저만 접근할 수 있다.

hive-site.xml 설정

<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby:metastore_db;create=true </value>
   <description>JDBC connect string for a JDBC metastore </description>
</property>

 

 

2. 로컬 메타스토어

로컬 메타스토어는 하이브와 같은 JVM에서 동작한다.

메타 데이터는 외부의 RDBMS에 저장한다. 따라서 여러 사용자가 동시에 이용할 수 있다.

 

hive-site.xml 설정

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://[IP]:[port]/[데이터베이스 이름]</value>
    <description>username to use against metastore database</description>
</property>

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.mariadb.jdbc.Driver</value>
    <description>username to use against metastore database</description>
</property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>[사용자명]</value>
    <description>username to use against metastore database</description>
</property>

<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>[암호]</value>
    <description>password to use against metastore database</description>
</property>

 

 

3. 원격 메타스토어

원격 메타스토어는 메타스토어가 별도의 JVM에서 동작한다.

쓰리프트 프로토콜을 이용하여 접속한다.

hive-site.xml 설정

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://[메타스토어 IP]:[메타스토어 Port]</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>

 

 

주요 테이블

 

DBS 데이터베이스 정보
TBLS 테이블 정보
PARTITIONS 파티션 정보