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

MaxCompute:FileSystem Catalog を持つ外部プロジェクトを使用した、レイクハウス上の Paimon データの読み書き

最終更新日:Feb 28, 2026

このトピックでは、Paimon カタログを作成し、Flink を使用してデータを生成する方法について説明します。その後、MaxCompute で FileSystem Catalog に基づく外部プロジェクトを作成し、Paimon テーブルから直接データを読み取ることができます。

注意事項

  • Paimon フォーマットのテーブルのみがサポートされています。

  • 動的バケットテーブルへの書き込みはサポートされていません。

  • クロスパーティションテーブルへの書き込みはサポートされていません。

  • データ型マッピング

操作手順

ステップ1:ソースデータの準備

Object Storage Service (OSS) に Paimon テーブルデータが既にある場合は、このステップをスキップしてください。

  1. OSS コンソールにログインし、paimon-fs という名前のバケットを作成します。詳細については、「バケットの作成」をご参照ください。バケット内に、paimon-test という名前のフォルダーを作成します。

  2. Flink コンソールにログインし、左上のリージョンを選択します。

  3. 対象のワークスペースの名前をクリックします。左側のナビゲーションウィンドウで、[カタログ] を選択します。

  4. カタログリスト ページで、右側の カタログの作成 をクリックします。カタログの作成 ダイアログボックスで、[Apache Paimon] を選択し、次へ をクリックして、次のパラメーターを設定します。

    パラメーター

    必須

    説明

    metastore

    必須

    メタストアのタイプ。この例では、filesystem を選択します。

    catalog name

    必須

    カスタムのカタログ名。例:paimon-fs-catalog

    warehouse

    必須

    OSS サービスで指定されたデータウェアハウスディレクトリ。この例では、oss://paimon-fs/paimon-test/

    fs.oss.endpoint

    必須

    OSS サービスのエンドポイント。例えば、中国 (杭州) リージョンのエンドポイントは oss-cn-hangzhou-internal.aliyuncs.com です。

    fs.oss.accessKeyId

    必須

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

    fs.oss.accessKeySecret

    必須

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

  5. Paimon カタログを使用して Paimon テーブルを作成し、データを書き込みます。

    1. 左側のナビゲーションウィンドウで、開発 > スクリプトを選択します。

    2. 新しいスクリプトタブで、image をクリックして新しいクエリスクリプトを作成できます。

      次のコードを実行します。必要に応じてコード内の名前を変更してください。

      説明

      Flink は Paimon カタログを使用するため、Paimon カタログのデフォルトのファイルシステム構造である paimon_catalog_name/database_name.db/xxxx に従います。他のエンジンを使用してこの OSS ディレクトリ内の Paimon データを読み書きする場合は、この構造に従い、Paimon フォーマットのデータのみを保存してください。そうしない場合、データは異常と見なされ、エラーが発生します。

      CREATE TABLE `paimon-fs-catalog`.`default`.test_tbl (
          id BIGINT,
          data STRING,
          dt STRING,
          PRIMARY KEY (dt, id) NOT ENFORCED
      ) PARTITIONED BY (dt)
      WITH (
          'bucket' = '3'
      );
      
      INSERT INTO `paimon-fs-catalog`.`default`.test_tbl 
        VALUES (1,'CCC','2024-07-18'), (2,'DDD','2024-07-18'),(3,'EEE','2025-06-18');
  6. 生成されたファイルを表示します。OSS コンソールにログインし、Paimon カタログにアタッチされた OSS ディレクトリ内の Paimon テーブルを表示します。

    image

ステップ2:MaxCompute での外部データソースの作成

  1. MaxCompute コンソールにログインし、左上のリージョンを選択します。

  2. 左側のナビゲーションウィンドウで、構成の管理 > 外部データソースを選択します。

  3. 外部データソースページで、外部データソースの作成をクリックします。

  4. 外部データソースの追加ダイアログボックスで、パラメーターを設定します。次の表にパラメーターを示します。

    パラメーター

    必須

    説明

    外部データソースタイプ

    必須

    Filesystem Catalog を選択します。

    外部データソース名

    必須

    カスタム名を指定します。命名規則は次のとおりです:

    • 名前は文字で始まり、小文字、アンダースコア (_)、数字のみを含めることができます。

    • 名前は 128 文字を超えることはできません。

    例:external_fs

    外部データソースの説明

    任意

    必要に応じて説明を入力します。

    地理

    必須

    現在のリージョンがデフォルトで選択されます。

    認証と認可

    必須

    Alibaba Cloud RAM ロールがデフォルトで選択されます。

    RoleARN

    必須

    RAM ロールの Alibaba Cloud リソースネーム (ARN)。このロールには、Data Lake Formation (DLF) と OSS サービスの両方にアクセスする権限が必要です。

    1. Resource Access Management (RAM) コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、ID > ロールを選択します。

    3. 基本情報セクションで、ARN を確認できます。

    例:acs:ram::124****:role/aliyunodpsdefaultrole

    Storage Type

    • OSS

    • OSS-HDFS

    エンドポイント

    自動的に生成されます。中国 (杭州) リージョンのエンドポイントは oss-cn-hangzhou-internal.aliyuncs.com です。

    外部データソースの追加プロパティ

    任意

    外部データソースの特別な補足プロパティ。これらのプロパティを指定すると、このデータソースを使用するタスクは、パラメーターで定義された動作に基づいてソースシステムにアクセスできます。

    説明

    製品の進化に伴い、パラメーターは段階的にリリースされます。サポートされるパラメーターについては、公式ドキュメントの今後の更新をご参照ください。

  5. 確認をクリックして外部データソースを作成します。

  6. 外部データソースページで、対象のデータソースを見つけ、操作列の 詳細をクリックします。

ステップ3:MaxCompute での外部プロジェクトの作成

  1. MaxCompute コンソールにログインし、左上のリージョンを選択します。

  2. 左側のナビゲーションウィンドウで、構成の管理 > プロジェクト管理を選択します。

  3. External Projectタブで、新しいプロジェクトをクリックします。

  4. 新しいアイテムダイアログボックスで、プロンプトに従ってプロジェクト情報を設定し、OK をクリックします。

    パラメーター

    必須

    説明

    プロジェクトタイプ

    必須

    外部プロジェクトがデフォルトで選択されます。

    地理

    必須

    現在のリージョンがデフォルトで選択され、変更できません。

    プロジェクト名 (ネットワーク全体で一意)

    必須

    名前は文字で始まり、文字、数字、アンダースコア (_) を含み、長さは 3〜28 文字である必要があります。

    MaxCompute外部データソース型

    任意

    Filesystem Catalog を選択します。

    MaxCompute外部データソース

    任意

    • 既存の選択:作成済みの外部データソースを一覧表示します。

    • 新しい外部データソース:新しい外部データソースを作成して使用します。

    MaxCompute外部データソース名

    必須

    • 既存のものを使用:ドロップダウンリストから既存の外部データソースの名前を選択します。

    • 新しい外部データソース:新しい外部データソースの名前を使用できます。

    認証と認可

    必須

    タスクエグゼキュータの ID。サービスリンクロールが作成されていない場合は、このモードを使用する前に作成してください。

    RoleARN

    必須

    RAM ロールの ARN。このロールには、DLF と OSS サービスの両方にアクセスする権限が必要です。

    1. Resource Access Management (RAM) コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[アイデンティティ] > [ロール]を選択します。

    3. 基本情報]セクションで、Amazon リソースネーム (ARN) を確認できます。

    例:acs:ram::124****:role/aliyunodpsdefaultrole

    Storage Type

    • OSS

    • OSS-HDFS

    エンドポイント

    必須

    デフォルトで生成されます。

    Bucket Catalog

    必須

    完全な OSS バケットとカタログレベルのファイルシステムディレクトリを選択します。この例では、oss://paimon-fs/paimon-test/

    テーブル形式

    必須

    Paimon がデフォルトで選択されます。

    コンピューティングリソース支払いタイプ

    必須

    年と月またはボリュームで支払う

    デフォルトクォータ

    必須

    既存のクォータを選択します。

    説明

    任意

    プロジェクトのカスタム説明。

ステップ4:Paimon テーブルの読み書き

  1. 外部プロジェクトにログインするには、接続ツールを選択します

  2. 新しく作成した外部プロジェクトに移動し、既存の Paimon スキーマを表示します。

    -- セッションレベルでスキーマ構文を有効にします。
    SET odps.namespace.schema=true;
    SHOW schemas;
    
    -- 次の結果が返されます。
    ID = 20250922********wbh2u7
    default
    
    
    OK
  3. デフォルトスキーマのテーブルを読み取ります。

    SET odps.sql.allow.fullscan=true; 
    SELECT * FROM <external_project_name>.default.test_tbl;
    
    -- 次の結果が返されます。
    +------------+------------+------------+
    | id         | data       | dt         | 
    +------------+------------+------------+
    | 1          | CCC        | 2024-07-18 | 
    | 2          | DDD        | 2024-07-18 | 
    | 3          | EEE        | 2025-06-18 | 
    +------------+------------+------------+
  4. 既存の Paimon テーブルにデータを書き込みます。

    INSERT INTO test_tbl PARTITION(dt='2025-08-26') VALUES(4,'FFF');
    SELECT * FROM test_tbl;
    
    -- 次の結果が返されます。
    +------------+------------+------------+
    | id         | data       | dt         | 
    +------------+------------+------------+
    | 1          | CCC        | 2024-07-18 | 
    | 2          | DDD        | 2024-07-18 | 
    | 3          | EEE        | 2025-06-18 | 
    | 4          | FFF        | 2025-08-26 | 
    +------------+------------+------------+
  5. 新しいスキーマにテーブルを作成し、データを書き込みます。

    テーブルを作成してデータを書き込むと、MaxCompute は Paimon カタログのファイルシステム構造に従って新しいデータも書き込みます。

    -- スキーマを作成します。
    CREATE schema testschema;
    
    -- 新しいスキーマ内にテーブルを作成します。
    use schema testschema;
    CREATE TABLE table_test(id INT, name STRING);
    
    -- 新しいテーブルにデータを挿入し、データを読み取ります。
    INSERT INTO table_test VALUES (101,'Zhang San'),(102,'Li Si');
    SELECT * FROM table_test;
    
    -- 次の結果が返されます。
    +------------+------------+
    | id         | name       | 
    +------------+------------+
    | 101        | Zhang San  | 
    | 102        | Li Si      | 
    +------------+------------+
  6. OSS コンソールにログインします。外部プロジェクトのバケットディレクトリに新しいスキーマとテーブルが見つかります。