すべてのプロダクト
Search
ドキュメントセンター

Migration Hub:Hive

最終更新日:Feb 14, 2026

サービスアカウントの権限付与

1. HiveMetaStore ベースのメタデータ

Kerberos 認証の場合:

  • 有効な Keytab ファイルと、それに対応するプリンシパルが必要です。

  • プリンシパルには、MetaStore サービスへのアクセス権限が必要です。

  • krb5.conf ファイルを正しく設定する必要があります。

2. MySQL ベースのメタデータ

必要なシステムテーブル権限:

-- ユーザーが存在しない場合は作成
CREATE USER IF NOT EXISTS '<username>'@'<host>' IDENTIFIED BY 'your_password';

-- SELECT 権限を付与 (最小権限の原則)
GRANT SELECT ON hive_metastore.dbs TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.tbls TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.sds TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.columns_v2 TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.partition_keys TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.serdes TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.serde_params TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.partitions TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.partition_key_vals TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.partition_params TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.table_params TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.funcs TO '<username>'@'<host>';
GRANT SELECT ON hive_metastore.func_ru TO '<username>'@'<host>';

-- 権限をフラッシュ
FLUSH PRIVILEGES;

3. AWS Glue ベースのメタデータ

必要な IAM ポリシー:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GlueMetadataReadAccess",
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetTables",
                "glue:GetTable",
                "glue:GetPartitions",
                "glue:GetUserDefinedFunctions"
            ],
            "Resource": [
                "arn:aws:glue:${Region}:${AccountId}:catalog",
                "arn:aws:glue:${Region}:${AccountId}:database/*",
                "arn:aws:glue:${Region}:${AccountId}:table/*/*",
                "arn:aws:glue:${Region}:${AccountId}:userDefinedFunction/*/*"
            ]
        }
    ]
}

データソース管理

1. HiveMetaStore ベースのメタデータ

オプション

説明

--metastore-uris

Hive MetaStore の URI です。このパラメーターは必須です。

-v, --version

Hive のバージョンです。

lhm datasource set hive -n hive1 --meta-type METASTORE \
    --metastore-uris thrift://host:9083 \
    -v 3.1.2

Kerberos 認証の有効化:

オプション

説明

--metastore-sasl-enabled

SASL 認証を有効にするかどうかを指定します。

--kerberos-keytab-file-path

Keytab ファイルへのパスです。SASL が有効な場合、このパラメーターは必須です。

--kerberos-conf-file-path

krb5.conf ファイルへのパスです。SASL が有効な場合、このパラメーターは必須です。

--principal

Kerberos プリンシパルです。SASL が有効な場合、このパラメーターは必須です。

--hive-principal

Hive サーバー側のプリンシパルです。このパラメーターはオプションです。

lhm datasource set hive -n hive1 --meta-type METASTORE \
    --metastore-uris thrift://host:9083 \
    --metastore-sasl-enabled true \
    --kerberos-keytab-file-path /path/to/keytab \
    --kerberos-conf-file-path /path/to/krb5.conf \
    --principal user@REALM \
    --hive-principal hive/_HOST@REALM
    -v 3.1.2

2. MySQL ベースのメタデータ

オプション

説明

--jdbc-url

JDBC 接続 URL です。このパラメーターは必須です。

--jdbc-username

ユーザー名です。このパラメーターは必須です。

--jdbc-password

パスワードです。このパラメーターは必須です。

lhm datasource set hive -n hive1 --meta-type MYSQL \
    --jdbc-url jdbc:mysql://host:3306/hive \
    --jdbc-username user \
    --jdbc-password '$DB_PASSWORD'

3. AWS Glue ベースのメタデータ

オプション

説明

--aws-access-key

AWS アクセスキーです。このパラメーターは必須です。

--aws-secret-key

AWS シークレットキーです。このパラメーターは必須です。

--aws-region

AWS リージョンです。このパラメーターは必須です。

lhm datasource set hive -n hive1 --meta-type AWS_GLUE \
    --aws-access-key '$AWS_ACCESS_KEY' \
    --aws-secret-key '$AWS_SECRET_KEY' \
    --aws-region us-east-1