Hive Metastore カタログ
Hive Metastore Service (HMS) は、Apache Hive のメタデータ管理サービスであり、Hadoop エコシステムで広く使用され、テーブルスキーマ、パーティション、ストレージ場所などのメタデータを管理します。
Hive Metastore Catalog を作成することで、VeloDB Cloud でセルフホスト HMS によって管理される Iceberg テーブルをクエリできます。データは Amazon S3 または EMR HDFS に格納されます。
前提条件
Hive Metastore Catalog を作成する前に、以下の条件が満たされていることを確認してください:
Hive Metastore の準備
- Hive Metastore Service がデプロイされ、VeloDB Cloud からアクセス可能であること。
- Hive Metastore は Thrift プロトコルを使用し、デフォルトポートは 9083 です。
ストレージの準備
データストレージの場所に基づいて、対応するアクセス認証情報を準備してください:
S3 ストレージ:
- AWS Access Key を準備するか、Cross-account IAM Role を設定してください。
- 認証情報がデータが存在する S3 bucket にアクセスする権限を持っていることを確認してください。
権限ポリシーリファレンス:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::<bucket-name>",
"arn:aws:s3:::<bucket-name>/*"
]
}
]
}
EMR HDFS Storage:
- VeloDB CloudがEMRクラスターのすべてのノードにアクセスできることを確認してください。
- HDFSの
fs.defaultFSアドレスを準備してください。
ネットワーク要件
- VeloDB CloudはHive MetastoreのThriftポート(デフォルト9083)にアクセスできる必要があります。
- VeloDB Cloudはデータストレージ(S3またはHDFS)にアクセスできる必要があります。
SaaSモードのVeloDB Cloudの場合:
- HMSサービスとHDFSにアクセスするには、VeloDBがVPCにアクセスできるように許可する必要がある場合があります。Grant VeloDB Access to Your VPCを参照してください。
- Warehouseと同じリージョンのS3 Bucketのみアクセス可能です。
BYOCモードのVeloDB Cloudの場合:
- HMSサービスとデータストレージ(S3またはHDFS)にアクセスするには、デプロイ時のネットワークポリシーを参照する必要があります。Create VPC Network Resourcesを参照してください。
Catalogの作成
以下の手順に従って、VeloDB CloudでHive Metastore Catalogを作成してください。
ステップ1:作成ページに入る
- VeloDB Cloudコンソールにサインインします。
- 左側のナビゲーションバーでCatalogsをクリックします。
- Add External Catalogボタンをクリックします。
- Data Lakeカテゴリの下でHive Metastoreを選択します。
ステップ2:基本情報を入力
Basic Informationセクションで、Catalogの基本識別情報を設定します。

| フィールド | 必須 | 説明 |
|---|---|---|
| Catalog Name | ✓ | Catalogの一意の名前。SQLクエリでこのデータソースを識別するために使用されます。 |
| Comment | 任意の説明情報。 |
ステップ3:Metastoreの設定
Metastoreセクションで、Hive Metastoreの接続情報を設定します。

テーブル形式
現在、VeloDB CloudはHive Metastore経由でIcebergテーブル形式のみをサポートしています。
接続設定
| フィールド | 必須 | 説明 |
|---|---|---|
| Warehouse | ✓ | VeloDBがIcebergデータベースを作成する際のデフォルトのデータファイル保存場所。S3とHDFSをサポートします。注意:S3 BucketはHMSサービスで設定されたAWS Endpointと同じリージョンにある必要があります。 |
| Hive Metastore URI | ✓ | Hive Metastore ServiceのThrift接続アドレス。 |
ステップ4:ストレージアクセスの設定
Storageセクションで、データファイルへのアクセス方法を設定します。データの保存場所に基づいてS3またはEMR HDFSを選択してください。
ストレージタイプ:S3
データがAmazon S3に保存されている場合はS3を選択します。

| フィールド | 必須 | 説明 |
|---|---|---|
| Region | ✓ | S3バケットが配置されているAWSリージョン。注意:HMSサービスで設定されたAWS Endpointと同じリージョンである必要があります。 |
認証方法1:Access Key
AWS IAMユーザーのアクセスキーを使用して認証します。
| フィールド | 必須 | 説明 |
|---|---|---|
| AK | ✓ | AWS Access Key ID |
| SK | ✓ | AWS Secret Access Key |
認証方法2:Cross-account IAM
クロスアカウントIAMロールを使用して認証します。これはより安全で、本番環境に推奨されます。

| フィールド | 必須 | 説明 |
|---|---|---|
| Cross-Account Role ARN | ✓ | AWSアカウントで作成されたIAMロールのARN。形式:arn:aws:iam::<your-account-id>:role/<role-name> |
設定手順:
詳細な設定手順については、Authorization Guidelines Helpリンクをクリックしてください。
ストレージタイプ:EMR HDFS
データがAWS EMRクラスターのHDFSに保存されている場合はEMR HDFSを選択します。

| フィールド | 必須 | 説明 |
|---|---|---|
| fs.defaultFS | ✓ | HDFSのNameNodeアドレス。形式:hdfs://<namenode-host>:<port>、デフォルトポートは8020。 |
ステップ5:詳細設定(任意)
Advanced Settingsをクリックして、より多くの設定オプションを展開します。

詳細設定には通常以下が含まれます:
- メタデータキャッシュ設定
- 接続タイムアウト設定
ヒント:ほとんどのシナリオでは、デフォルト値で十分です。
ステップ6:作成の確認
- すべての設定情報が正しいか確認します。
- ConfirmボタンをクリックしてCatalogを作成します。
- 接続検証が完了するまで待ちます。
作成が成功すると、Catalogリストで新しく作成されたHive Metastore Catalogを確認できます。
Catalogの使用
作成が成功した後、SQL EditorでこのCatalogを使用してデータをクエリできます。
データベースとテーブルの表示
-- View all databases under the Catalog
SHOW DATABASES FROM hms_iceberg;
-- View all tables under a specific database
SHOW TABLES FROM hms_iceberg.my_database;
-- View table schema
DESCRIBE hms_iceberg.my_database.my_table;
クエリデータ
-- Query data
SELECT * FROM hms_iceberg.my_database.my_table LIMIT 100;
-- Query with conditions
SELECT column1, column2
FROM hms_iceberg.my_database.my_table
WHERE created_at >= '2024-01-01';