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

Realtime Compute for Apache Flink:AnalyticDB for MySQL (ADB) カタログの管理

最終更新日:Aug 13, 2026

AnalyticDB for MySQL カタログを設定すると、Realtime Compute for Apache Flink コンソールから AnalyticDB for MySQL インスタンス内のテーブルに直接アクセスできます。 このトピックでは、AnalyticDB for MySQL カタログを作成、表示、使用、削除する方法について説明します。

背景

AnalyticDB for MySQL カタログには、以下の機能があります:

  • AnalyticDB for MySQL インスタンスのテーブルに直接アクセスできます。 DDL ステートメントを使用して AnalyticDB for MySQL テーブルを手動で登録する必要がないため、開発効率と正確性が向上します。

  • AnalyticDB for MySQL カタログのテーブルは、Flink SQL ジョブでディメンションテーブルおよび結果テーブルとして使用できます。

このトピックでは、以下の操作を実行して AnalyticDB for MySQL カタログを管理する方法について説明します。

制限事項

  • AnalyticDB for MySQL カタログをサポートするのは、VVR 6.0.2 以降の Realtime Compute for Apache Flink のみです。

  • カタログは作成後に変更できません。

  • データテーブルの照会のみ可能です。データベースやテーブルの作成、変更、削除はできません。

  • テーブルは、ディメンションテーブルおよび結果テーブルとしてのみ使用でき、ソーステーブルとしては使用できません。

  • カタログは SSL 接続をサポートしていません。SSL 接続を使用するには、一時テーブルを定義して AnalyticDB for MySQL にアクセスします。

AnalyticDB for MySQL カタログの作成

  1. AnalyticDB for MySQL カタログを作成するには、[Scripts] エディターでステートメントを入力します。

    CREATE CATALOG <catalogName> WITH (
      'type' = 'adb3.0',
      'hostName' = '<hostname>',
      'port' = '<port>',
      'userName' = '<username>',
      'password' = '<password>',
      'defaultDatabase' = '<dbname>'
    );

    パラメーター

    タイプ

    説明

    必須

    catalogName

    String

    AnalyticDB for MySQL カタログの名前。

    はい

    type

    String

    カタログのタイプ。値は adb3.0 に固定されています。

    はい

    hostName

    String

    AnalyticDB for MySQL インスタンスの IP アドレスまたはホスト名

    はい

    port

    Integer

    AnalyticDB for MySQL インスタンスのポート番号。デフォルト: 3306。

    いいえ

    userName

    String

    AnalyticDB for MySQL インスタンスのユーザー名。

    はい

    password

    String

    AnalyticDB for MySQL インスタンスのパスワード。

    はい

    defaultDatabase

    String

    デフォルトの AnalyticDB for MySQL データベースの名前。

    はい

  2. ステートメントを選択し、コードの左側にある[実行]をクリックします。

    CREATE CATALOG <catalogName> WITH (
      'type' = 'adb3.0',
      'hostName' = '<hostname>',
      'port' = '<port>',
      'userName' = '<username>',
      'password' = '<password>',
      'defaultDatabase' = '<dbname>'
    );

AnalyticDB for MySQL カタログの表示

AnalyticDB for MySQL カタログが設定されたら、AnalyticDB for MySQL のメタデータを表示するには、次の手順に従います。

  1. カタログページに移動します。

    1. Realtime Compute for Apache Flink コンソールにログインします。

    2. 対象のワークスペースの[アクション] 列で、[コンソール] をクリックします。

    3. 左側のナビゲーションペインで、[カタログ] をクリックします。

  2. [カタログリスト] ページで、[名前][タイプ] を確認します。

    説明

    カタログ内のデータベースとテーブルを表示するには、[表示] をクリックします。

AnalyticDB for MySQL カタログを使用する

  • AnalyticDB for MySQL カタログのテーブルをディメンションテーブルとして使用する

    INSERT INTO ${other_sink_table}
    SELECT ...
    FROM ${other_source_table} AS e
    JOIN `${adb_mysql_catalog}`.`${db_name}`.`${table_name}` FOR SYSTEM_TIME AS OF e.proctime AS w
    ON e.id = w.id;
  • AnalyticDB for MySQL カタログのテーブルを結果テーブルとして使用する

    INSERT INTO `${adb_mysql_catalog}`.`${db_name}`.`${table_name}`
    SELECT ...
    FROM ${other_source_table}

    AnalyticDB for MySQL カタログのテーブルを使用する際に追加の WITH パラメーターを指定する必要がある場合は、SQL ヒントを使用してパラメーターを追加します。パラメーターの詳細については、「WITH パラメーター」をご参照ください。次の例では、AnalyticDB for MySQL 3.0 の結果テーブルに replaceMode パラメーターを追加する方法を示します。

    INSERT INTO `${adb_mysql_catalog}`.`${db_name}`.`${table_name}` /*+ OPTIONS('replaceMode'='true') */
    SELECT ...
    FROM ${other_source_table}

AnalyticDB for MySQL カタログの削除

警告

AnalyticDB for MySQL カタログを削除しても、実行中のジョブには影響しません。ただし、削除されたカタログのテーブルを使用するジョブは、送信または再起動されると、「table not found」エラーで失敗します。慎重に実行してください。

AnalyticDB for MySQL カタログは、UI または SQL ステートメントを使用して削除できます。UI を使用して AnalyticDB for MySQL カタログを削除することをお勧めします。

UI

  1. カタログページに移動します。

    1. Realtime Compute for Apache Flink コンソールにログインします。

    2. 対象のワークスペースの [操作] 列で、[コンソール] をクリックします。

    3. 左側のナビゲーションペインで、[カタログ] をクリックします。

  2. [カタログリスト] ページで、削除するカタログを見つけ、[アクション] 列の [削除] をクリックします。

  3. 「確認」ダイアログボックスで、[削除] をクリックします。

  4. 左側の [カタログ] ペインで、カタログが削除されたことを確認します。

SQL ステートメント

  1. スクリプトエディターで、次のステートメントを入力します。

    DROP CATALOG <catalogName>;

    <catalogName> を、削除したい AnalyticDB for MySQL カタログの名前に置き換えてください。

  2. ステートメントを選択して右クリックし、[実行] を選択します。

  3. 左側の [カタログ] ペインで、カタログが削除されていることを確認します。