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

E-MapReduce:Icebergデータソース

最終更新日:Jan 11, 2025

Icebergカタログは外部カタログです。 Icebergカタログを使用して、Icebergのデータをクエリできます。 このトピックでは、E-MapReduce(EMR)StarRocksクラスターでIcebergカタログを作成し、Icebergカタログを使用してIcebergのデータをクエリする方法について説明します。

前提条件

  • Icebergサービスを含むクラスター(DataLakeクラスターやカスタムクラスターなど)が作成されています。 詳細については、「クラスターの作成」をご参照ください。

  • StarRocksサービスを含むクラスター(オンライン分析処理(OLAP)クラスターやカスタムクラスターなど)が作成されており、クラスターにログオンしています。 詳細については、クラスターの作成 および はじめに をご参照ください。

制限事項

  • 上記のクラスターは、同じ仮想プライベートクラウド(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 の詳細については、概要 をご参照ください。