全部產品
Search
文件中心

Data Lake Formation:EMR on ECS Trino訪問DLF

更新時間:Jun 03, 2026

如何在EMR on ECS Trino環境中通過Paimon REST訪問DLF Catalog。

前提條件

已建立EMR叢集,組件選擇Trino。EMR版本 >= 5.13.0。如有其他版本訴求,請加入DingTalk群(106575000021)聯絡DLF研發人員。

建立DLF Catalog

詳情請參見 DLF 快速入門

授予角色DLF許可權

  1. 授予AliyunECSInstanceForEMRRole角色RAM許可權(EMR產品化整合後可以省略該步驟)。

    1. 使用阿里雲帳號或Resource Access Management員登入RAM控制台

    2. 單擊身份管理 > 角色,查詢AliyunECSInstanceForEMRRole角色。

    3. 單擊操作列的新增授權,進入新增授權頁面。

    4. 權限原則中,查詢並勾選AliyunDLFFullAccess,單擊確認新增授權

  2. 授予AliyunECSInstanceForEMRRole角色DLF許可權。

    1. 登入資料湖構建控制台

    2. Catalogs列表頁面,單擊Catalog名稱,進入Catalog詳情頁。

    3. 如果要授予整個 catalog 許可權,則直接單擊許可權。否則點擊進入對應資料庫或者表,再點擊許可權目錄,進行許可權授予。

    4. 在授權頁面,配置以下資訊,單擊確定

      • 使用者/角色:選擇RAM使用者/RAM角色

      • 選擇授權對象:在下拉式清單中選擇AliyunECSInstanceForEMRRole

        說明

        如果使用者下拉式清單中未找到AliyunECSInstanceForEMRRole,可以在使用者管理頁面單擊同步。

      • 預置權限類別型:可自訂選擇讀取許可權,或者直接使用 Data Reader/Data Editor。

升級EMR叢集Paimon依賴

  1. 匯入Paimon依賴。

    1. 將依賴的兩個JAR包paimon-ali-jindo-1.4.jarpaimon-trino-422-1.4-plugin.jar上傳至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. 在彈出的對話方塊中,配置以下資訊,單擊確定

      • 名稱:自訂指令碼名稱。

      • 指令碼位置:選擇上傳到OSS的升級指令碼。指令碼路徑格式必須是oss://**/*.sh格式。

      • 執行範圍:選擇叢集

配置Trino串連Catalog

在EMR叢集的叢集服務中,單擊Trino服務的配置,修改paimon.properties的以下配置項。如果配置項不存在,則新增該配置項。

connector.name=paimon
warehouse=dlf_test
metastore=rest
token.provider=dlf
uri=<uri>
dlf.token-loader=ecs

參數說明如下。

參數

描述

是否必填

樣本

connector.name

連接器名稱,固定為paimon。

paimon-1-ali-11.0

warehouse

DLF Catalog名稱。

dlf_test

metastore

metastore類型,固定為rest。

rest

token.provider

Token提供方,固定為dlf。

dlf

uri

訪問DLF Rest Catalog Server的URI,格式為http://[region-id]-vpc.dlf.aliyuncs.com。詳見服務存取點中的Region ID。

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

dlf.token-loader

通過ECS執行個體頒發臨時Token,固定為ecs。

ecs

執行完成後,需重啟Trino服務使配置生效。

使用Trino讀取Paimon表

  1. 通過以下指令碼進入到CLI。

    sh /opt/apps/TRINO/trino-current/bin/trino --server master-1-1:9090
  2. 執行以下命令,讀取資料。其中users_samples為DLF Catalog中已存在的表。

    select * from paimon.default.users_samples;
    trino> select * from paimon.default.users_samples;
     user_id | age_level | final_gender_code |  clk
    ---------+-----------+-------------------+-------
           1 | 2-25-34   | M                 | true
           2 | 2-18-24   | F                 | false
           3 | 2-35-44   | M                 | true
    (3 rows)
    Query 20250520_071520_00003_6rw87, FINISHED, 1 node
    Splits: 1 total, 1 done (100.00%)
    1.54 [3 rows, 0B] [1 rows/s, 0B/s]