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

E-MapReduce:Delta Lake カタログ

最終更新日:Nov 07, 2025

Delta Lake カタログは、StarRocks がバージョン 2.5 からサポートする外部カタログの一種です。

背景

Delta Lake カタログを使用すると、次のことができます。

  • データをインポートせずに Delta Lake のデータを直接クエリする。

  • INSERT INTO 文を使用して Delta Lake のデータを処理およびモデル化し、StarRocks にインポートする。

Delta Lake のデータに正常にアクセスできるようにするには、StarRocks クラスターが Delta Lake クラスターのストレージシステムとメタデータサービスにアクセスできる必要があります。 現在、StarRocks は次のストレージシステムとメタデータサービスをサポートしています。

  • 分散ファイルシステム (HDFS) または Alibaba Cloud Object Storage Service (OSS)。

  • メタデータサービス。 現在サポートされているメタデータサービスには、Hive Metastore (HMS) と Data Lake Formation (DLF) があります。

使用上の注意

  • StarRocks が Delta Lake データをクエリする場合、Parquet ファイル形式をサポートします。 Parquet ファイルは、SNAPPY、LZ4、ZSTD、GZIP、および NO_COMPRESSION 圧縮形式をサポートします。

  • StarRocks が Delta Lake データをクエリする場合、MAP および STRUCT データの型はサポートされません。

Delta Lake カタログの作成

構文

CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
    "type" = "deltalake",
    MetastoreParams
)

パラメーター

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

    • 名前に使用できるのは、文字、数字、アンダースコア (_) です。 文字で始まる必要があります。

    • 名前の長さは 1〜64 文字である必要があります。

    • 名前では大文字と小文字が区別されます。

  • comment: Delta Lake カタログの説明。 このパラメーターはオプションです。

  • type: データソースのタイプ。 このパラメーターを Delta Lake に設定します。

  • MetastoreParams: StarRocks が Delta Lake クラスターのメタデータサービスにアクセスするためのパラメーター。 パラメーター構成は、Delta Lake で使用されるメタデータサービスによって異なります。

    • HMS の使用

      プロパティ

      説明

      hive.metastore.type

      Delta Lake クラスターで使用されるメタデータサービスのタイプ。 このパラメーターを hive に設定します。

      hive.metastore.uris

      Hive Metastore サービスの Uniform Resource Identifier (URI)。 フォーマットは thrift://<Hive MetaStore の IP アドレス>:<ポート番号> です。 デフォルトのポート番号は 9083 です。

    • DLF の使用

      プロパティ

      説明

      hive.metastore.type

      Delta Lake クラスターで使用されるメタデータサービスのタイプ。 このパラメーターを dlf に設定します。

      dlf.catalog.id

      DLF 内の既存のデータカタログの ID。 dlf.catalog.id パラメーターを構成しない場合、システムはデフォルトの DLF カタログを使用します。

次の例では、Delta Lake_catalog_hms という名前の Delta Lake カタログを作成します。

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

Delta Lake カタログの表示

SHOW CATALOGS を使用して、現在の StarRocks インスタンス内のすべてのカタログをクエリできます。

SHOW CATALOGS;

また、SHOW CREATE CATALOG を使用して、特定の外部カタログの作成文をクエリすることもできます。 たとえば、次のコマンドを使用して、Delta Lake カタログ deltalake_catalog_hms の作成文をクエリします。

SHOW CREATE CATALOG deltalake_catalog_hms;

Delta Lake カタログとデータベースの切り替え

次のメソッドを使用して、ターゲットの Delta Lake カタログとデータベースに切り替えることができます。

  • まず、SET CATALOG を使用して現在のセッションの Delta Lake カタログを指定し、次に USE を使用してデータベースを指定します。

    -- 現在のセッションのカタログを切り替えます。
    SET CATALOG <catalog_name>;
    
    -- 現在のセッションのデータベースを指定します。
    USE <db_name>;
  • USE 文を使用して、セッションをターゲットの Delta Lake カタログ下の指定されたデータベースに直接切り替えます。

    USE <catalog_name>.<db_name>;

Delta Lake カタログの削除

DROP CATALOG を使用して外部カタログを削除できます。

たとえば、次のコマンドを使用して deltalake_catalog_hms を削除します。

DROP Catalog deltalake_catalog_hms;

Delta Lake テーブル構造の表示

次のメソッドを使用して、Delta Lake テーブルの構造を表示できます。

  • テーブルスキーマのクエリ

    DESC[RIBE] <catalog_name>.<database_name>.<table_name>;
  • CREATE コマンドからテーブル構造とファイルストレージの場所を表示

    SHOW CREATE TABLE <catalog_name>.<database_name>.<table_name>;

Delta Lake テーブルデータのクエリ

  1. SHOW DATABASES を使用して、指定されたカタログに関連付けられている Delta Lake クラスター内のデータベースを表示します。

    SHOW DATABASES FROM <catalog_name>;
  2. ターゲットの Delta Lake カタログとデータベースに切り替えます。

  3. SELECT を使用して、ターゲットデータベース内のターゲットテーブルをクエリします。

    SELECT count(*) FROM <table_name> LIMIT 10;

Delta Lake データのインポート

StarRocks に olap_tbl という名前の内部 OLAP テーブルがあるとします。 このテーブルのデータを変換して、次のように StarRocks にインポートできます。

INSERT INTO default_catalog.olap_db.olap_tbl SELECT * FROM deltalake_table;

参照

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