Iceberg catalog
Iceberg catalog は、Apache Iceberg からデータを取り込まずにクエリを実行できる external catalog です。Iceberg クラスターでの SQL ワークロードを成功させるためには、CelerData クラスターが Iceberg クラスターのストレージシステムとメタストアにアクセスできる必要があります。CelerData は以下のストレージシステムとメタストアをサポートしています。
-
AWS S3 のようなオブジェクトストレージ
-
Hive metastore (HMS) や AWS Glue のようなメタストア
NOTE
ストレージとして AWS S3 を選択する場合、メタストアとして HMS または AWS Glue を使用できます。他のストレージシステムを選択する場合、メタストアとしては HMS のみを使用できます。
使用上の注意
-
CelerData がサポートする Iceberg のファイル形式は Parquet と ORC です。
- Parquet ファイルは、SNAPPY、LZ4、ZSTD、GZIP、NO_COMPRESSION の圧縮形式をサポートしています。
- ORC ファイルは、ZLIB、SNAPPY、LZO、LZ4、ZSTD、NO_COMPRESSION の圧縮形式をサポートしています。
-
Iceberg catalogs は、v1 テーブルに加えて、ORC 形式の v2 テーブルと Parquet 形式の v2 テーブルをサポートしています。
準備
Iceberg catalog を作成する前に、CelerData クラスターが Iceberg クラスターのストレージシステムとメタストアと統合できることを確認してください。
Hive metastore
Iceberg クラスターが Hive metastore をメタストアとして使用している場合、CelerData が Hive metastore のホストにアクセスできることを確認してください。
NOTE
通常、CelerData クラスターと Hive metastore の統合を有効にするために、以下のいずれかのアクションを実行できます。
- CelerData クラスターと Hive metastore を同じ VPC にデプロイする。
- CelerData クラスターの VPC と Hive metastore の VPC の間に VPC ピアリング接続を構成する。
次に、Hive metastore のセキュリティグループの設定を確認し、CelerData クラスターのセキュリティグループからのインバウンドトラフィックを許可するインバウンドルールが設定されていること、およびポート範囲がデフォルトポート 9083 をカバーしていることを確認してください。
AWS
Iceberg クラスターが AWS S3 をストレージとして使用している場合、または AWS Glue をメタストアとして使用している場合、適切な認証方法を選択し、IAM ロールまたはユーザーを作成し、指定された IAM ロールまたはユーザーに IAM ポリシーを追加するなど、必要な準備を行って、CelerData クラスターがこれらの AWS リソースにアクセスできるようにしてください。詳細については、Authenticate to AWS resources > Preparations を参照してください。
Microsoft Azure Storage
Iceberg クラスターが Azure をストレージとして使用している場合、適切な認証方法を選択し、ロールの割り当てを追加するなど、必要な準備を行ってください。詳細については、Authenticate to Azure cloud storage を参照してください。
Iceberg catalog の作成
構文
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
"type" = "iceberg",
MetastoreParams,
StorageCredentialParams
)
パラメータ
catalog_name
Iceberg catalog の名前です。命名規則は以下の通りです。
- 名前には、文字、数字 (0-9)、およびアンダースコア (_) を含めることができます。名前は文字で始める必要があります。
- 名前は大文字と小文字を区別し、長さは 1023 文字を超えてはなりません。
comment
Iceberg catalog の説明です。このパラメータはオプションです。
type
データソースのタイプです。値を iceberg
に設定します。
MetastoreParams
CelerData がデータソースのメタストアと統合する方法に関する一連のパラメータです。