Icebergカタログは外部カタログです。 Icebergカタログを使用して、Icebergのデータをクエリできます。 このトピックでは、E-MapReduce(EMR)StarRocksクラスターでIcebergカタログを作成し、Icebergカタログを使用してIcebergのデータをクエリする方法について説明します。
前提条件
制限事項
上記のクラスターは、同じ仮想プライベートクラウド(VPC)およびゾーンにデプロイする必要があります。
StarRocksクラスターを使用して、分析データテーブル(バージョン 1 )のデータのみをクエリできます。 行レベルの削除テーブル(バージョン 2 )のデータはクエリできません。 詳細については、Iceberg Table Spec をご参照ください。
Icebergカタログの作成
構文
CREATE EXTERNAL CATALOG <catalog_name>
PROPERTIES
(
"key"="value",
...
);パラメーターの説明
catalog_name: Icebergカタログの名前。 このパラメーターは必須です。 名前は次の要件を満たしている必要があります。名前に使用できるのは、英字、数字、およびアンダースコア(_)です。 名前の先頭は英字にする必要があります。
名前は 1 ~ 64 文字にする必要があります。
PROPERTIES: Icebergカタログのプロパティ。 このパラメーターは必須です。 このパラメーターの構成は、Icebergデータソースで使用されるメタデータサービスによって異なります。 Icebergカタログには、Icebergテーブルとそれらのストレージパス間のマッピングが格納されます。 以下では、さまざまなメタデータサービスに対して構成できるプロパティについて説明します。プロパティ
必須
説明
typeはい
データソースのタイプ。 値を
icebergに設定します。iceberg.catalog.typeはい
Icebergデータソースのカタログのタイプ。 Hive Metastoreサービスを使用する場合は、値を
HIVEに設定します。hive.metastore.urisいいえ
Hive Metastore サービスの URI 。 値は
thrift://<Hive metastore の IP アドレス>:<ポート番号>の形式で指定します。 デフォルトのポート番号は 9083 です。 Data Lake Formation (DLF)を使用してメタデータを保存する場合は、このパラメーターを空のままにすることができます。
例
iceberg_catalog という名前のIceberg カタログを作成するには、次のステートメントを実行します。
CREATE EXTERNAL CATALOG iceberg_catalog
PROPERTIES
(
"type" = "iceberg",
"iceberg.catalog.type" = "HIVE",
"hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083"
);IcebergテーブルのデータのクエリIceberg テーブルのデータ
次のステートメントを実行して、データベースの特定のテーブルのデータをクエリできます。
SELECT * FROM <catalog_name>.<database_name>.<table_name>;関連情報
Iceberg の詳細については、概要 をご参照ください。