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

Realtime Compute for Apache Flink:Paimon カタログの管理

最終更新日:Aug 14, 2026

Paimon カタログは、Flink を OSS または DLF に保存されているデータレイクのメタデータに接続します。このドキュメントでは、カタログ、データベース、テーブルを作成および管理する方法について説明します。

事前準備

  • バージョン要件

    • VVR 8.0.5 以降: Paimon カタログとテーブルの作成に必要です。

    • VVR 11.1 以降: DLF をメタストアとして使用する場合に必要です。

    • VVR 11.8 以降: Paimon Filesystem カタログのストレージとして OSS-HDFS を使用する場合に必要です。

  • ストレージ要件

    Paimon はデータとメタデータを OSS に保存します。ご利用の OSS バケットを次のように設定します。

    • ストレージクラス: 標準を使用します。ストレージクラス

    • バケットのセットアップ: Flink ワークスペースと同じリージョンに専用のバケットを作成します。データの競合を避けるため、デフォルトのシステムバケットを再利用しないでください。

  • アクセス権限
    AccessKey ペアが、ご利用の OSS バケットまたは DLF ディレクトリに対する読み取りおよび書き込み権限を持っていることを確認してください。

  • フォーマットの互換性

    Paimon カタログは Paimon フォーマットのみをサポートします。Lance や Iceberg などの他のフォーマットはサポートされていません。

  • コンソールの更新
    カタログ、データベース、またはテーブルを作成または削除した後、更新 image をクリックしてコンソールを更新します。

  • Paimon バージョンマッピング

    Apache Paimon バージョン

    VVR

    1.3.1

    11.5、11.6、11.7、11.8

    1.3

    11.4

    1.2

    11.2、11.3

    1.1

    11.1

    1.0

    8.0.11

カタログの作成

シナリオに基づいてメタストアのタイプを選択します。

  • Filesystem カタログ: メタデータを OSS に保存します。シンプルなデプロイメントに最適です。

  • DLF カタログ: メタデータを Data Lake Formation (DLF) に保存します。メタデータを一元管理するエンタープライズシナリオに最適です。

Filesystem カタログの作成

オプション 1: コンソールを使用 (推奨)

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

    1. 管理ポータルにログインします。対象のワークスペースを見つけ、[操作] 列の [コンソール] をクリックします。

    2. 左側のナビゲーションウィンドウで、[カタログ] をクリックします。

  2. [カタログの作成] をクリックし、[Apache Paimon] を選択してから [次へ] をクリックします。

  3. metastorefilesystem に設定し、他のカタログ設定を構成します。

オプション 2: SQL を使用

[開発] > [スクリプト] の SQL エディターで、次のコマンドを実行します:

CREATE CATALOG `my-catalog` WITH (
  'type' = 'paimon',
  'metastore' = 'filesystem',
  'warehouse' = '<warehouse>',
  'fs.oss.endpoint' = '<fs.oss.endpoint>',
  'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
  'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
);
  • 一般パラメーター

    設定項目

    説明

    必須

    備考

    my-catalog

    Paimon カタログの名前。

    はい

    カスタム名を入力します。

    type

    カタログのタイプ。

    はい

    paimon に設定します。

    metastore

    メタストアのタイプ。

    はい

    有効な値:

    • filesystem: メタデータを OSS に保存します。

    • dlf: メタデータを DLF に保存します。

  • OSS パラメーター

    設定項目

    説明

    必須

    備考

    warehouse

    OSS 内のデータウェアハウスディレクトリ。

    はい

    フォーマットは oss://<bucket>/<object> です。各パラメーターの説明は次のとおりです。

    • bucket: ご利用の OSS バケットの名前。

    • object: データが保存されているパス。

    OSS コンソールでバケットとオブジェクト名を確認します。

    fs.oss.endpoint

    OSS サービスのエンドポイント。

    はい

    • Flink と DLF が同じリージョンにある場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックネットワークエンドポイントを使用します。

    • このパラメーターは、warehouse に指定された OSS バケットが Flink ワークスペースと同じリージョンにない場合、または別の Alibaba Cloud アカウントに属する OSS バケットを使用する場合に必要です。

    詳細については、「リージョンとエンドポイント」および「AccessKey の作成」をご参照ください。

    fs.oss.accessKeyId

    OSS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID。

    はい

    fs.oss.accessKeySecret

    OSS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret。

    はい

  • OSS-HDFS (VVR 11.8 以降)

    Paimon Filesystem カタログのストレージとして OSS-HDFS を使用するには、次の SQL 例を使用します。

    CREATE CATALOG `my_catalog` WITH (
      'type' = 'paimon',
      'metastore' = 'filesystem',
      'warehouse' = 'dls://<bucket>.<dls-endpoint>/<warehouse-path>',
      'fs.oss.endpoint' = '<dls-endpoint>',
      'fs.oss.accessKeyId' = '<access-key-id>',
      'fs.oss.accessKeySecret' = '<access-key-secret>',
      'fs.dls.client.mode.enabled' = 'false',
      'fs.dls.data.endpoint' = '<oss-data-endpoint>'
    );

    次の表にパラメーターを説明します。

    パラメーター

    説明

    必須

    備考

    warehouse

    OSS-HDFS のウェアハウスディレクトリ。

    はい

    フォーマット: dls://<bucket>.<dls-endpoint>/<warehouse-path>。<dls-endpoint> は fs.oss.endpoint と同じです。

    fs.oss.endpoint

    OSS-HDFS サービスのエンドポイント。

    はい

    OSS コンソールで、対象バケットの [概要] > [アクセスポート] セクションに移動し、HDFS サービスエンドポイントを確認します。

    fs.oss.accessKeyId

    OSS-HDFS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID。

    はい

    fs.oss.accessKeySecret

    AccessKey ID に対応する AccessKey Secret。

    はい

    fs.dls.client.mode.enabled

    DLS クライアントモードを有効にするかどうかを指定します。

    はい

    false に設定します。

    fs.dls.data.endpoint

    DLS が基盤となる OSS データにアクセスするために使用するデータエンドポイント。

    はい

    OSS コンソールで、対象バケットの [概要] > [アクセスポート] セクションに移動し、OSS 内部エンドポイントを確認します。「リージョンとエンドポイント」のドキュメントも参照できます。

DLF カタログの作成

DLF

  1. Flink ワークスペースと同じリージョンの DLF コンソールでカタログを作成します。DLF のクイックスタート

  2. 開発コンソールで Paimon カタログを登録します。

    説明

    この操作は、DLF カタログをメタデータとしてマッピングするだけです。Realtime Compute for Apache Flink でこのカタログを作成または削除しても、DLF の基盤となるデータには影響しません。

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

    2. フルマネージドワークスペースのリストで、ワークスペースの名前をクリックしてコンソールを開きます。

    3. UI を使用するか、SQL コマンドを実行してカタログを登録できます。

      UI

      1. 左側のナビゲーションウィンドウで、[カタログ] をクリックします。

      2. [カタログリスト] ページで、[カタログの作成] をクリックします。

      3. [Apache Paimon] を選択し、[次へ] をクリックします。

      4. [metastore][dlf] に設定します。[カタログ名] で、目的の DLF カタログを選択します。[OK] をクリックしてカタログを作成します。

      SQL コマンド

      [スクリプト] エディターで、次の SQL 文を入力して実行し、カタログを作成します。

      CREATE CATALOG `flink_catalog_name` 
      WITH (
        'type' = 'paimon',
        'metastore' = 'rest',
        'token.provider' = 'dlf',
        'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com',
        'warehouse' = 'dlf_test'
      );

      次の表にパラメーターを説明します。

      パラメーター

      説明

      必須

      type

      カタログのタイプ。このパラメーターは paimon に固定されています。

      はい

      paimon

      metastore

      メタストアのタイプ。このパラメーターは rest に固定されています。

      はい

      rest

      token.provider

      トークンプロバイダー。このパラメーターは dlf に固定されています。

      はい

      dlf

      uri

      DLF REST カタログサーバーにアクセスするための URI。フォーマットは http://[region-id]-vpc.dlf.aliyuncs.com です。リージョン ID の詳細については、「エンドポイント」をご参照ください。

      はい

      http://cn-hangzhou-vpc.dlf.aliyuncs.com

      warehouse

      ウェアハウスとして使用する基盤となる DLF カタログの名前。

      はい

      dlf_test

DLF-Legacy

  1. Flink ワークスペースと同じリージョンの DLF コンソールでカタログを作成します。クイックスタート

  2. 開発コンソールで Paimon カタログを登録します。

    オプション 1: コンソールを使用 (推奨)

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

      1. 管理ポータルにログインし、対象のワークスペースの [操作] 列にある [コンソール] をクリックします。

      2. [カタログ] をクリックします。

    2. [カタログの作成] をクリックします。[Apache Paimon] を選択し、[次へ] をクリックします。

    3. [metastore][DLF] に設定し、[カタログ名] ドロップダウンリストから関連付ける V1.0 DLF カタログを選択します。その後、他のカタログ設定を構成します。

    オプション 2: SQL を使用

    [開発] > [スクリプト] の SQL エディターで、次のコマンドを実行します。

    CREATE CATALOG `my-catalog` WITH (
      'type' = 'paimon',
      'metastore' = 'dlf',
      'warehouse' = '<warehouse>',
      'dlf.catalog.id' = '<dlf.catalog.id>',
      'dlf.catalog.accessKeyId' = '<dlf.catalog.accessKeyId>',
      'dlf.catalog.accessKeySecret' = '<dlf.catalog.accessKeySecret>',
      'dlf.catalog.endpoint' = '<dlf.catalog.endpoint>',
      'dlf.catalog.region' = '<dlf.catalog.region>',
      'fs.oss.endpoint' = '<fs.oss.endpoint>',
      'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
      'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
    );

    パラメーターの説明:

    • 一般

      設定項目

      説明

      必須

      備考

      my-catalog

      Paimon カタログの名前。

      はい

      カスタム名を入力します。

      type

      カタログのタイプ。

      はい

      値は paimon に固定されています。

      metastore

      メタストアのタイプ。

      はい

      値は dlf に固定されています。

    • OSS

      設定項目

      説明

      必須

      備考

      warehouse

      OSS 内のデータウェアハウスディレクトリ。

      はい

      フォーマットは oss://<bucket>/<object> です。各パラメーターの説明は次のとおりです。

      • bucket: ご利用の OSS バケットの名前。

      • object: データが保存されているパス。

      OSS コンソールでバケットとオブジェクト名を確認します。

      fs.oss.endpoint

      OSS サービスのエンドポイント。

      はい

      • Flink と DLF が同じリージョンにある場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックネットワークエンドポイントを使用します。

      • Paimon テーブルを OSS-HDFS に保存する場合は、fs.oss.endpoint パラメーターの値を cn-<region>.oss-dls.aliyuncs.com (例: cn-hangzhou.oss-dls.aliyuncs.com) に設定します。

      fs.oss.accessKeyId

      OSS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID。

      はい

      詳細については、「リージョンとエンドポイント」および「AccessKey の作成」をご参照ください。

      fs.oss.accessKeySecret

      OSS に対する読み取りおよび書き込み権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret。

      はい

    • DLF

      設定項目

      説明

      必須

      備考

      dlf.catalog.id

      DLF データカタログの ID。

      はい

      Data Lake Formation コンソールでデータカタログの ID を確認します。

      dlf.catalog.accessKeyId

      DLF サービスへのアクセスに必要な AccessKey ID。

      はい

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

      dlf.catalog.accessKeySecret

      DLF サービスへのアクセスに必要な AccessKey Secret。

      はい

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

      dlf.catalog.endpoint

      DLF サービスのエンドポイント。

      はい

      リージョンとエンドポイント

      説明

      Flink と DLF が同じリージョンにある場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックネットワークエンドポイントを使用します。

      dlf.catalog.region

      DLF が配置されているリージョン。

      はい

      リージョンとエンドポイント

      説明

      リージョンが dlf.catalog.endpoint に指定されたものと同じであることを確認してください。

データベースの管理

[開発] > [スクリプト] の SQL エディターで、次のコマンドを実行します。

  • データベースの作成

    default データベースは自動的に作成されます。さらにデータベースを作成するには、次のようにします。

    -- my-catalog をご利用の Paimon カタログの名前に置き換えます。
    USE CATALOG `my-catalog`;
    
    -- my_db を英語のカスタムデータベース名に置き換えます。
    CREATE DATABASE `my_db`;
  • データベースの削除

    重要

    default データベースは DLF カタログからは削除できません。ただし、Filesystem カタログからは削除できます。

    -- my-catalog をご利用の Paimon カタログの名前に置き換えます。
    USE CATALOG `my-catalog`;
    
    -- my_db を削除したいデータベースの名前に置き換えます。
    DROP DATABASE `my_db`; -- テーブルが含まれていない場合にのみデータベースを削除します。
    DROP DATABASE `my_db` CASCADE; -- データベースとその中のすべてのテーブルを削除します。
    

テーブルの管理

テーブルの作成

説明

Paimon カタログを登録すると、DDL 定義を作成せずに Flink ジョブでそのテーブルを直接参照できます。テーブルを参照するには、次のようにします。

  • 完全修飾名を使用する: ${Paimon-catalog-name}.${Paimon-db-name}.${Paimon-table-name}

  • または、USE CATALOG ${Paimon-catalog-name}USE ${Paimon-db-name} を使用して現在のカタログとデータベースを設定します。その後、テーブル名のみを使用してテーブルを参照します: ${Paimon-table-name}

  • CREATE TABLE 文を使用してテーブルを作成する

    [開発] > [スクリプト] の SQL エディターで、次のコマンドを実行します。

    次の例では、my-catalogmy_db データベースにパーティションテーブルを作成します。

    -- my-catalog をご利用の Paimon カタログの名前に置き換えます。
    -- my_db を使用したいデータベースの名前に置き換えます。
    -- my_tbl を英語のカスタム名に置き換えることもできます。
    CREATE TABLE `my-catalog`.`my_db`.`my_tbl` (
      dt STRING,
      shop_id BIGINT,
      user_id BIGINT,
      num_orders INT,
      total_amount INT,
      PRIMARY KEY (dt, shop_id, user_id) NOT ENFORCED
    ) PARTITIONED BY (dt) WITH (
      'bucket' = '4'
    );

    詳細については、「Apache Paimon コネクタ」および「プライマリキーテーブルと追加のみテーブル」をご参照ください。

  • CREATE TABLE AS (CTAS) 文 (廃止予定) または CREATE DATABASE AS (CDAS) 文 を使用してテーブルを作成する

    CTAS と CDAS はデータとスキーマの変更を自動的に同期し、MySQL や Kafka などのソースから Paimon にテーブルをレプリケートします。

    説明
    • 特定のテーブルのレプリケート

      次の例では、mysql.tpcds.web_sales テーブルのスキーマに基づいて Paimon テーブル `my-catalog`.`my_db`.`web_sales` を自動的に作成し、データをレプリケートします。

      CREATE TABLE IF NOT EXISTS `<catalog name>`.`<db name>`.`<table name>`
      WITH (
        'bucket' = '4',
        'changelog-producer' = 'input'
      ) AS TABLE mysql.tpcds.web_sales;
    • データベース全体のレプリケート

      次の例では、mysql.tpcds データベース内の各テーブルのスキーマに基づいて、`my-catalog`.`my_db` データベースに Paimon テーブルを自動的に作成し、データをレプリケートします。

      CREATE DATABASE IF NOT EXISTS `<catalog name>`.`<db name>`
      WITH (
        'changelog-producer' = 'input'
      ) AS DATABASE mysql.tpcds INCLUDING ALL TABLES;
    • 列の型の変更をレプリケートする

      CTAS または CDAS 文を使用して作成された Paimon テーブルは、特定の列の型の変更をサポートします。

      • デフォルトの型レプリケーション

        デフォルトでは、Paimon テーブルはソースの正確な列の型を保持します。ただし、特定の型の昇格は明示的な設定なしでサポートされます。

        • 整数型: TINYINTSMALLINTINT、および BIGINT は、同等以上の精度の整数型に昇格できます。(TINYINT < SMALLINT < INT < BIGINT)。

        • 浮動小数点型: FLOAT および DOUBLE は、同等以上の精度の浮動小数点型に昇格できます。(FLOAT < DOUBLE)。

        • 文字列型: CHARVARCHAR、および STRING は、同等以上の精度の文字列型に昇格できます。

      • 型の正規化

        より柔軟な型の変更を可能にし、互換性のあるスキーマ進化によるジョブの失敗を防ぐには、CTAS/CDAS 文の WITH 句で 'enableTypeNormalization' = 'true' を設定します。このモードでは、Flink はスキーマ進化中にデータ型を正規化します。ジョブは、古い型と新しい型が同じ基盤となる型に正規化できない場合にのみ失敗します。ルール:

        • TINYINTSMALLINTINTBIGINTBIGINT に正規化されます。

        • FLOATDOUBLEDOUBLE に正規化されます。

        • CHARVARCHARSTRINGSTRING に正規化されます。

        • 他のデータ型は正規化されません。

      • 正規化の影響:

        型の正規化がアクティブな場合、Paimon テーブルに保存されるデータ型は正規化された型になります。たとえば、ソース列 c1 (SMALLINT) と c2 (INT) が両方とも BIGINT に正規化される場合、c1c2 の両方が Paimon テーブルに BIGINT として保存されます。

      • 例:

        • 成功: ソースの SMALLINTINT に変更された場合、両方の型は BIGINT に正規化されます。これは互換性のある変更であり、ジョブは正常に続行されます。

        • 失敗: ソースの FLOATBIGINT に変更された場合、それらの正規化された型 (DOUBLEBIGINT) は互換性がないため、例外が発生します。

テーブルスキーマの変更

[開発] > [スクリプト] の SQL エディターで、次のコマンドを実行します。

操作

サンプルコード

テーブルプロパティの追加または変更

ALTER TABLE my_table SET (
  'write-buffer-size' = '256 MB',
  'write-buffer-spillable' = 'true'
);

テーブルプロパティの一時的な変更

一時的に変更されたテーブルプロパティは、現在の SQL ジョブに対してのみ有効です。

  • my_table テーブルに書き込む際、一時的に write-buffer-size を 256 MB に、write-buffer-spillable を true に設定します。

    INSERT INTO my_table /*+ OPTIONS('write-buffer-size' = '256 MB', 'write-buffer-spillable' = 'true') */
    SELECT ...;
  • my_table テーブルからデータを消費する際、一時的に scan.mode を latest に、scan.parallelism を 10 に設定します。

    SELECT * FROM t /*+ OPTIONS('scan.mode' = 'latest', 'scan.parallelism' = '10') */;

テーブル名の変更

ALTER TABLE my_table RENAME TO my_table_new;
重要

OSS の名前変更操作はアトミックではありません。Paimon テーブルファイルを OSS に保存する場合、アトミックなファイル操作のために OSS-HDFS を使用してください。

新しい列の追加

  • my_table テーブルの末尾に、INT 型の c1 列と STRING 型の c2 列を追加します。

    ALTER TABLE my_table ADD (c1 INT, c2 STRING);
  • my_table テーブルの c1 列の後に、STRING 型の c2 列を追加します。

    ALTER TABLE my_table ADD c2 STRING AFTER c1;
  • my_table テーブルの先頭に、INT 型の c1 列を追加します。

    ALTER TABLE my_table ADD c1 INT FIRST;

列名の変更

my_table の c0 列を c1 に名前変更します。

ALTER TABLE my_table RENAME c0 TO c1;

列の削除

my_table から c1 列と c2 列を削除します。

ALTER TABLE my_table DROP (c1, c2);

パーティションの削除

my_table から dt=20240108,hh=06dt=20240109,hh=07 パーティションを削除します。

ALTER TABLE my_table DROP PARTITION (`dt` = '20240108', `hh` = '08'), PARTITION (`dt` = '20240109', `hh` = '07');

列コメントの変更

my_tablebuy_count 列のコメントを this is buy count に変更します。

ALTER TABLE my_table MODIFY buy_count BIGINT COMMENT 'this is buy count';

列の順序の変更

  • my_table の先頭に DOUBLE 型の col_a を移動します。

    ALTER TABLE my_table MODIFY col_a DOUBLE FIRST;
  • my_tablecol_b の後に DOUBLE 型の col_a を移動します。

    ALTER TABLE my_table MODIFY col_a DOUBLE AFTER col_b;

列の型の変更

my_tablecol_a の型を DOUBLE に変更します。

ALTER TABLE my_table MODIFY col_a DOUBLE;

サポートされている列の型変換 (〇 = サポート、空欄 = 非サポート):

image

テーブルの削除

[開発] > [スクリプト] にある SQL エディターで、次のコマンドを実行します。

-- my-catalog をご利用の Paimon カタログの名前に置き換えます。
-- my_db を使用したいデータベースの名前に置き換えます。
-- my_tbl を作成した Paimon カタログテーブルの名前に置き換えます。
DROP TABLE `my-catalog`.`my_db`.`my_tbl`;

The following statement has been executed successfully! というメッセージが返された場合、Paimon テーブルは削除されています。

カタログの表示または削除

  1. 管理ポータルで、対象のワークスペースの [操作] 列にある [コンソール] をクリックします。

  2. [カタログ] ページで、Apache Paimon カタログを表示または削除します。

    • [カタログリスト] ページで、カタログ名とタイプを表示します。カタログ内のデータベースとテーブルを表示するには、[操作] 列の [表示] をクリックします。

    • [カタログリスト] ページで、削除するカタログの [操作] 列にある [削除] をクリックします。

      説明

      カタログを削除しても、Flink の登録が削除されるだけです。基盤となるデータファイルは影響を受けません。アクセスを復元するには、カタログを再登録してください。

      別の方法として、[開発] > [スクリプト] の SQL エディターで DROP CATALOG <catalog name>; を入力し、コードを選択して [実行] をクリックすることもできます。

関連ドキュメント