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

E-MapReduce:Hudiデータソース

最終更新日:Mar 25, 2025

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

前提条件

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

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

制限事項

上記のクラスターは、同じ仮想プライベートクラウド(VPC)とゾーンにデプロイする必要があります。

Hudiカタログの作成

構文

CREATE EXTERNAL CATALOG <catalog_name>
PROPERTIES
( 
  "key"="value", 
  ...
);

パラメーターの説明

  • catalog_name: Hudiカタログの名前。 このパラメーターは必須です。 名前は次の要件を満たしている必要があります:

    • 名前に使用できるのは、英字、数字、およびアンダースコア(_)です。 名前の先頭は英字にする必要があります。

    • 名前は1~64文字にする必要があります。

  • PROPERTIES: Hudiカタログのプロパティ。 このパラメーターは必須です。 このパラメーターの構成は、Hudiデータソースで使用されるメタデータサービスによって異なります。 以下の情報は、さまざまなメタデータサービスに対して構成できるプロパティについて説明しています。

    プロパティ

    必須

    説明

    type

    はい

    データソースのタイプ。 値を hudi に設定します。

    hive.metastore.uris

    はい

    Hive Metastore サービスの URI。 thrift://<Hive Metastore サービスの IP アドレス>:<ポート番号> の形式で値を指定します。 デフォルトのポート番号は 9083 です。 Data Lake Formation(DLF)を使用してメタデータを保存する場合、このパラメーターは空のままにすることができます。

    hive.metastore.type

    いいえ

    Metastore のタイプ。 デフォルトでは、このパラメーターは空のままです。 これは、Hive Metastore サービスを使用してメタデータが保存されることを示します。 DLF を使用してメタデータを保存する場合は、値を dlf に設定します。

    dlf.catalog.id

    いいえ

    データを読み取る DLF カタログの ID。 このパラメーターは、hive.metastore.type パラメーターを dlf に設定した場合にのみ必須です。 このパラメーターを構成しない場合は、デフォルトの DLF カタログの ID が使用されます。

    • Hive MetaStore

      プロパティ

      必須

      説明

      type

      はい

      データソースのタイプ。 値を hudi に設定します。

      hive.metastore.uris

      はい

      Hive Metastore サービスの URI。 thrift://<Hive Metastore サービスの IP アドレス>:<ポート番号> の形式で値を指定します。 デフォルトのポート番号は 9083 です。

    • DLF

      詳細については、「メタデータが DLF に保存されている外部テーブルへのアクセス」をご参照ください。

hudi_catalog という名前の Hudi カタログを作成するには、次のコマンドを実行します。

CREATE EXTERNAL CATALOG hudi_catalog
PROPERTIES
(
    "type" = "hudi",
    "hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083"
);

Hudiテーブルのデータのクエリ

データベースの特定のテーブルのデータをクエリするには、次のステートメントを実行します。

SELECT * FROM <catalog_name>.<database_name>.<table_name>;

関連情報

Hudi の詳細については、「Hudi」をご参照ください。