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

ApsaraDB for SelectDB:レイクハウスデータ処理

最終更新日:Jul 09, 2026

ApsaraDB for SelectDB は、データレイク、データベース、リモートファイルなどの外部データソースに対する フェデレーテッドクエリ をサポートしています。

概要

ApsaraDB for SelectDB は、データレイクやデータベースなどの外部データソースに接続して、シンプルかつ高速なデータ分析を可能にする マルチソースデータカタログ (Multi-Catalog や Catalog とも呼ばれる) 機能を提供します。 この機能は、元のメタデータ階層の上に Catalog レイヤーを追加し、Catalog -> Database -> Table という 3 階層のメタデータ構造を形成します。 各 Catalog は、外部データソースに直接マッピングできます。 サポートされている外部データソースの詳細については、「データレイク分析」および「データベース分析」をご参照ください。

ApsaraDB for SelectDB は、Amazon S3 や HDFS などのリモートストレージシステムからのファイルデータをクエリ可能なテーブルにマッピングし、ファイルベースの分析を簡素化する テーブル値関数 (TVFs) も提供します。 詳細については、「ファイル分析」をご参照ください。

カタログを使用することで、ApsaraDB for SelectDB は外部データソースと内部データを統合してクエリできるため、データウェアハウスとストレージシステム間で柔軟な分析が可能です。

説明

外部データソースがパブリックインターネット上にデプロイされている場合、ApsaraDB for SelectDB インスタンスの Virtual Private Cloud (VPC) にはアウトバウンドのインターネットアクセスが必要です。 詳細については、「ApsaraDB for SelectDB インスタンスとデータソース間のネットワーク接続の問題を解決する方法」をご参照ください。

基本概念と操作

  • 内部カタログ

    ApsaraDB for SelectDB 内のすべての既存データベースとテーブルは内部カタログに属します。これはデフォルトで組み込まれており、変更や削除はできません。

  • 外部カタログ

    CREATE CATALOG コマンドを使用して外部カタログを作成します。SHOW CATALOGS ですべてのカタログを表示するか、SHOW CREATE CATALOG <catalog_name>; で特定のカタログの作成ステートメントを表示できます。

  • カタログの切り替え

    ApsaraDB for SelectDB にログインすると、デフォルトで Internal Catalog がアクティブになっています。カタログを切り替えるには、SWITCH コマンドを使用します:

    SWITCH internal;
    SWITCH hive_catalog;

    切り替え後、 SHOW DATABASES および USE <db_name> を使用して、対象のカタログ内のデータベースを参照および切り替えることができます。外部カタログのデータは、内部カタログと同じ方法で表示およびアクセスできます。現在、 ApsaraDB for SelectDB は、外部カタログへの読み取り専用アクセスをサポートしています。

  • カタログの削除

    外部カタログのデータは読み取り専用ですが、DROP CATALOG <catalog_name>; コマンドでカタログ自体をドロップできます。内部カタログはドロップできません。

    説明

    この操作により、ApsaraDB for SelectDB からカタログのマッピング情報のみが削除されます。外部データソース自体は変更されません。

列タイプのマッピング

カタログを作成すると、ApsaraDB for SelectDB は外部データソースからデータベースとテーブルを自動的に同期し、データソースとテーブル形式に従って列タイプをマッピングします。

UNIONINTERVAL など、マッピングできない外部データ型には UNSUPPORTED 型が割り当てられます。 次の例では、UNSUPPORTED 列をクエリした場合の動作を示します。

-- 同期されたテーブルのスキーマ:
k1 INT,
k2 INT,
k3 UNSUPPORTED,
k4 INT

-- クエリ結果:
SELECT * FROM testtable;                // エラー: 'k3' でサポートされていないタイプ 'UNSUPPORTED_TYPE'
SELECT * except(k3) FROM testtable;     // クエリ OK。
SELECT k1, k3 FROM testtable;           // エラー: 'k3' でサポートされていないタイプ 'UNSUPPORTED_TYPE'
SELECT k1, k4 FROM testtable;           // クエリ OK。

SHOW DATA TYPES; を実行すると、ApsaraDB for SelectDB でサポートされているデータ型を表示できます。特定の外部ソースでサポートされているデータ型については、「データレイク分析」および「データベース分析」をご参照ください。

権限管理

ApsaraDB for SelectDB は、組み込みの権限管理を使用し、これをカタログレベルまで拡張することで、外部カタログ内のデータベースとテーブルへのアクセスを制御します。詳細については、「ユーザー権限管理」をご参照ください。

データベースの指定

Catalog 設定の include_database_list プロパティと exclude_database_list プロパティを使用して、同期するデータベースを制御します。

  • include_database_list: 同期するデータベースをカンマ区切りで指定します。データベース名では大文字と小文字が区別されます。デフォルトでは、すべてのデータベースが同期されます。

  • exclude_database_list:同期から除外するデータベースのカンマ区切りリストです。データベース名では大文字と小文字が区別されます。デフォルトでは空です。この場合、どのデータベースも除外されません。

重要
  • データベースが include_database_listexclude_database_list の両方に設定されている場合、exclude_database_list が優先されます。

  • Java データベース接続 (JDBC) ソースに接続する場合、これら 2 つのプロパティを only_specified_database パラメーターと組み合わせて使用する必要があります。 詳細については、「JDBC データソース」をご参照ください。

メタデータ更新

テーブルの作成や削除、列の追加や削除など、外部データソースのメタデータ変更は ApsaraDB for SelectDB に自動的に同期されません。次の方法でメタデータを更新できます。

手動更新

REFRESH コマンドを使用してメタデータを手動で更新します。

構文

REFRESH CATALOG catalog_name;
REFRESH DATABASE [catalog_name.]database_name;
REFRESH TABLE [catalog_name.][database_name.]table_name;

カタログを更新すると、パーティション、スキーマ、ファイルキャッシュなどの関連キャッシュも無効化されます。

  1. カタログを更新します。例:

    REFRESH CATALOG hive;
  2. データベースを更新します。例:

    REFRESH DATABASE ctl.database1;
    REFRESH DATABASE database1;
  3. テーブルを更新します。例:

    REFRESH TABLE ctl.db.table1;
    REFRESH TABLE db.table1;
    REFRESH TABLE table1;

定期更新

定期的な更新を有効にするには、カタログの作成時に metadata_refresh_interval_sec パラメーターを設定します。マスターフロントエンド (FE) ノードは、指定された間隔でカタログを定期的に更新します。現在、定期的な更新をサポートしているのは、3 種類のデータソースタイプのみです。

  • HMS:Hive Metastore (HMS)

  • ES:Elasticsearch (ES)

  • JDBC:Java Database Connectivity (JDBC)

-- カタログの更新間隔を 20 秒に設定
CREATE CATALOG es PROPERTIES (
    "type"="es",
    "hosts"="http://127.0.0.1:9200",
    "metadata_refresh_interval_sec"="20"
);

自動更新

現在、Hive データソースからの特定のイベントのみが自動カタログ更新をトリガーします。詳細については、「Hive データソース」をご参照ください。