본문 바로가기
BigData/Hive

[Hive] Hive MetaStore(하이브 메타스토어)란? hive metastore 유형, metastore 파라미터

by 스파이디웹 2021. 6. 26.
728x90

1.Hive metastore(메타스토어)란

하이브는 테이블과 파티션과 관련된 메타정보를 모두 메타스토어에 저장합니다.

하이브는 기존의 RDBMS와 달리 데이터를 insert후 스키마를 입히게 되는데, 그때 스키마 정보를 메타스토어에서 참조하여 가져옵니다. 

 

2.Hive 메타스토어의 유형

하이브의 메타스토어 유형에는 임베디드 메타스토어(Embedded metastore), 로컬 메타스토어(Local metastore), 원격 메타스토어(Remote metastore) 세가지 유형이 있습니다.

 

 

 

  • 임베디드 메타스토어(Embedded metastore)
    하이브를 설치하면 기본적으로 임베디드 메타스토어를 사용합니다. 이 경우 메타스토어가 로컬 장비에 파일로 생성되므로 한번에 하나의 프로세스만 메타스토어에 접근할 수 있습니다. 따라서 실제 환경에서 사용해서는 안됩니다.
    보통 DerbyDB가 임베디드 메타스토어의 default DB로 설정됩니다.

 

  • 로컬 메타스토어(Local metastore)
    로컬 메타스토어의 경우 메타데이터가 모두 원격(또는 로컬)의 데이터베이스에 저장됩니다.
    ex) mysql, postresql 등

 

  • 원격 메타스토어(Remote metastore)
    원격 메타스토어의 경우에도 메타데이터가 모두 원격(또는 로컬)의 데이터베이스에 저장됩니다. 하지만 로컬 메타스토어와는 달리 메타스토어를 서비스하는 별도의 서버가 기동되며, 클라이언트는 데이터베이스에 집접 쿼리문을 날리는 대신 메타스토어 서버의 중개를 받게 됩니다. 이때 클라이언트와 메타스토어 서버는 thrift 통신을 사용합니다.

 

 

3.Hive 메타스토어의 설정 파라미터

하이브의 메타스토어를 설정하는 파라미터는 다음과 같습니다.

 

 

 파라미터  설명
 javax.jdo.option.ConnectionURL  메타데이터를 저장하는 DB의 접속 정보
 javax.jdo.option.ConnectionDriverName  DB에 연결할 때 사용할 JDBC 드라이버명
 hive.metastore.uris  클라이언트에서 메타스토어 서버와 통신하는 URI
hive.metastore.local   임베디드 또는 로컬인 경우 true, 원격인 경우 false
hive.metastore.warehouse.dir  하이브 테이블이 저장되는 HDFS 상의 경로

 

출처:

 https://manic.tistory.com/125

728x90

댓글