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

Data Lake Formation:EMR on ECS の Trino と DLF Paimon カタログの統合

最終更新日:Mar 26, 2026

このトピックでは、E-MapReduce (EMR) on ECS の Trino 環境から、Apache Paimon の REST カタログプロトコルを使用して Data Lake Formation (DLF) カタログにアクセスする方法について説明します。

前提条件

開始する前に、以下を確認してください。

  • バージョン 5.13.0 以降を実行し、Trino コンポーネントが選択されている EMR クラスター

  • (オプション) 別のバージョンのサポートが必要な場合は、DingTalk グループ (ID: 106575000021) に参加して DLF 開発者にご連絡ください

カタログの作成

詳細については、「DLF をセットアップする」をご参照ください。

ロールへの DLF 権限の付与

EMR ノードが DLF にアクセスできるように、必要な権限を AliyunECSInstanceForEMRRole ロールに付与します。これには、Resource Access Management (RAM) アクセスポリシーの付与と DLF カタログ権限の付与の 2 つのステップが含まれます。

EMR プロダクトと DLF の統合が完了した後は、ステップ 1 をスキップできます。
  1. AliyunECSInstanceForEMRRole ロールに RAM 権限を付与します。

    1. Alibaba Cloud アカウントまたは RAM 管理者として RAM コンソールにログインします。

    2. ナビゲーションウィンドウで、ID 管理 > ロール を選択します。AliyunECSInstanceForEMRRole を検索します。

    3. [操作] 列で、権限の追加 をクリックします。

    4. アクセスポリシー セクションで、AliyunDLFFullAccess を検索して選択し、権限の追加を確認 をクリックします。image

  2. AliyunECSInstanceForEMRRole ロールに DLF 権限を付与します。

    1. Data Lake Formation コンソールにログインします。

    2. カタログ ページで、カタログの名前をクリックして詳細ページを開きます。

    3. 権限 タブをクリックし、付与 をクリックします。

    4. [付与] ページで、次のパラメーターを設定し、OK をクリックします。

      • ユーザー/ロールRAM ユーザー/RAM ロール に設定します。

      • 承認オブジェクトの選択 で、ドロップダウンリストから AliyunECSInstanceForEMRRole を選択します。

        注意:ドロップダウンリストに AliyunECSInstanceForEMRRole がない場合は、ユーザー管理ページに移動して 同期 をクリックしてください。
      • プリセット権限タイプデータ編集者 に設定します。

EMR クラスターの Paimon 依存関係のアップグレード

EMR はマネージドクラスター環境であるため、各ノードでファイルを直接置き換えるのではなく、スクリプトアクションを通じて Paimon プラグインの JAR を更新する必要があります。

  1. Paimon 依存関係をインポートします。

    1. 必要な 2 つの JAR ファイルをダウンロードし、Object Storage Service (OSS) にアップロードします。ファイルの権限を 公開読み取り に設定します。アップロード手順については、「簡易アップロード」をご参照ください。

    2. 次のアップグレードスクリプトを作成し、OSS にアップロードします。

      #!/bin/bash
      
      echo 'backup paimon-trino-ali-.*'
      sudo mkdir /tmp/upgrade-trino-dlf2.5
      sudo cp -r /opt/apps/TRINO/trino-current/plugin/paimon /tmp/upgrade-trino-dlf2.5
      echo 'clear old paimon plugin jars'
      sudo rm -rf /opt/apps/TRINO/trino-current/plugin/paimon/*
      
      echo 'download paimon-ali-trino-1.4.jar'
      cd /opt/apps/TRINO/trino-current/plugin/paimon/
      wget ${paimon-ali-jindo-1.4.jar}
      wget ${paimon-trino-422-1.4-plugin.jar}
      重要

      ${paimon-ali-jindo-1.4.jar}${paimon-trino-422-1.4-plugin.jar} を、対応するファイルの OSS ダウンロードパスに置き換えてください。例:https://<bucket>.oss-cn-hangzhou-internal.aliyuncs.com/jars/paimon-ali-jindo-1.4.jar

  2. EMR クラスターでスクリプトを手動スクリプトアクションとして実行します。詳細については、「スクリプトの手動実行」をご参照ください。

    1. EMR クラスターで、スクリプト操作 > 手動実行 に移動し、作成して実行 をクリックします。

    2. ダイアログボックスで、次のパラメーターを設定し、OK をクリックします。

      • 名前:スクリプトの名前を入力します。

      • スクリプトの場所:OSS にアップロードしたアップグレードスクリプトを選択します。パスは oss://**/*.sh 形式に従う必要があります。

      • 実行範囲クラスター を選択します。

カタログに接続するための Trino の設定

EMR クラスターで、クラスターサービス に移動し、Trino サービスの 設定 をクリックして、paimon.properties ファイルに次の設定を追加または変更します。

connector.name=paimon
warehouse=dlf_test
metastore=rest
token.provider=dlf
uri=http://<region-id>-vpc.dlf.aliyuncs.com
dlf.token-loader=ecs
REST カタログのコンテキストでは、warehouse はファイルシステムパスではなく、ご利用の DLF カタログインスタンスの名前です。従来の Hive またはファイルシステムカタログでは、warehousehdfs:///path/to/warehouse のようなストレージパスを指します。DLF REST カタログでは、dlf_test のようにカタログインスタンス名である必要があります。

次の表に各パラメーターを示します。

パラメーター説明必須
connector.nameコネクタタイプ。paimon に設定します。はいpaimon-1-ali-11.0
warehouseDLF カタログインスタンスの名前。はいdlf_test
metastoreメタストアタイプ。rest に設定します。はいrest
token.providerトークンプロバイダー。dlf に設定します。はいdlf
uriDLF REST カタログサーバーの URI。形式は http://[region-id]-vpc.dlf.aliyuncs.com です。リージョン ID のリストについては、「エンドポイント」をご参照ください。はいhttp://cn-hangzhou-vpc.dlf.aliyuncs.com
dlf.token-loaderECS インスタンスロールによって発行された一時的なトークンを使用して認証します。ecs に設定します。これは、EMR on ECS のデプロイメントで推奨されるアプローチです。なぜなら、ECS インスタンスロールはすでに EMR ノードにアタッチされており、AccessKey 認証情報を管理する必要がなくなるためです。はいecs

設定を保存した後、Trino サービスを再起動して変更を有効にします。

Trino を使用した Paimon テーブルの読み取り

  1. Trino コマンドラインインターフェイス (CLI) に入ります。

    sh /opt/apps/TRINO/trino-current/bin/trino --server master-1-1:9090
  2. DLF カタログからテーブルをクエリします。次の例では、カタログ内の既存のテーブルである users_samples から読み取ります。

    select * from paimon.default.users_samples;

    image