VPC 환경에서 이용 가능합니다.
Data Catalog를 Apache Hive의 Metastore로 설정하는 방법을 설명합니다.
주의
본 설정은 네이버 클라우드 플랫폼의 메인 계정으로만 사용이 가능합니다.
준비 사항
Hive의 실행이 가능한 자체 환경이 구축되어 있어야 합니다.
참고
네이버 클라우드 플랫폼의 Cloud Hadoop은 클러스터 생성 과정에서의 설정을 통해 Data Catalog를 Hive Metastore 저장소로 연동할 수 있습니다.
1. Apache Hive 패치 적용 후 설치
- Apache Hive를 clone해 주십시오.
git clone https://github.com/apache/hive.git - branch_3.1.patch 파일을 다운로드 받은 후 Apache Hive 3.1 버전에 해당 patch를 적용해 주십시오. 이후 새로 빌드를 수행해 주십시오.
- 다운로드 링크 : https://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore/blob/branch-3.4.0/branch_3.1.patch
cd <your local hive source path> git checkout branch-3.1 git apply -3 branch_3.1.patch mvn clean install -DskipTests - 빌드 후 hive-exec-3.1.3.jar, hive-common-3.1.3.jar 파일을 Hive의 CLASSPATH에 위치시켜 주십시오.
참고
- Hive의 CLASSPATH는 일반적으로
{HIVE_HOME}/lib/로 지정됩니다.
2. Data Catalog용 Hive Client 다운로드
- Data Catalog용 Hive Client를 다운로드 받아주십시오.
- 이후 해당 jar 파일을 Hive의 CLASSPATH에 위치시켜 주십시오.
참고
Hive의 CLASSPATH는 일반적으로 {HIVE_HOME}/lib/로 지정됩니다.
3. Object Stroage 관련 라이브러리 다운로드
wget https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-aws/3.2.4/hadoop-aws-3.2.4.jar
wget https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk-bundle/1.11.375/aws-java-sdk-bundle-1.11.375.jar
- 이후 해당 jar 파일을 Hive의 CLASSPATH에 위치시켜 주십시오.
참고
Hive의 CLASSPATH는 일반적으로 {HIVE_HOME}/lib/로 지정됩니다.
4. hive-site.xml 변경
네이버 클라우드 플랫폼의 Data Catalog 및 Object Storage 버킷을 Hive에서 사용하기 위해서 hive-site.xml에 아래 내용을 추가해 주십시오.
<configuration>
<!-- Data Catalog 설정 -->
<property>
<name>hive.metastore.client.factory.class</name>
<value>com.navercorp.ncp.catalog.metastore.NCPCatalogMetastoreClientFactory</value>
</property>
<property>
<name>hive.metastore.api.endpoint</name>
<value>https://datacatalog.apigw.ntruss.com</value>
</property>
<!-- Object Storage 설정 -->
<property>
<name>fs.s3a.endpoint</name>
<value>http://kr.objectstorage.ncloud.com</value>
</property>
<property>
<name>fs.s3a.access.key</name>
<value>{your-access-key}</value>
</property>
<property>
<name>fs.s3a.secret.key</name>
<value>{your-secret-key}</value>
</property>
<property>
<name>fs.s3a.connection.ssl.enabled</name>
<value>false</value>
</property>
<property>
<name>fs.s3a.impl</name>
<value>org.apache.hadoop.fs.s3a.S3AFileSystem</value>
</property>
</configuration>
참고
hive-site.xml는 일반적으로 {HIVE_HOME}/conf/ 하위에 위치합니다.
연동 확인
Hive CLI를 실행해서 command가 정상 동작하는지 확인해 주십시오.
참고
- MySQL, MSSQL, Postgresql 등 DBMS와의 연동은 지원하지 않습니다.
- Iceberg 테이블과의 연동 또한 지원하지 않습니다.