Apache Hiveと Data Catalogの連携

Prev Next

VPC環境で利用できます。

Data Catalogを Apache Hiveの Metastoreに設定する方法を説明します。

注意

本設定は、NAVERクラウドプラットフォームのメインアカウントでのみ使用可能です。

準備事項

Hiveの実行が可能な独自の環境が構築されている必要があります。

参考

NAVERクラウドプラットフォームの Cloud Hadoopは、クラスタの作成過程での設定により、Data Catalogを Hive Metastore保存場所に連携できます。

1. Apache Hiveパッチを適用後にインストール

  1. Apache Hiveを cloneします。

    git clone https://github.com/apache/hive.git
    
  2. 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
    
  3. ビルド後、 hive-exec-3.1.3.jarhive-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の変更

NAVERクラウドプラットフォームの 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テーブルとの連携もサポートしません。