全部產品
Search
文件中心

E-MapReduce:Paimon與Trino整合

更新時間:Jul 04, 2024

E-MapReduce支援在Trino中查詢Paimon資料。本文通過樣本為您介紹如何在Trino中查詢Paimon中的資料。

前提條件

已建立選擇了Trino和Paimon的DataLake或Custom類型的叢集,建立叢集詳情請參見建立叢集

使用限制

EMR-3.46.0及後續版本、EMR-5.12.0及後續版本的叢集,支援在Trino中查詢Paimon中的資料。

操作步驟

  1. 指定warehouse路徑。

    Paimon將資料和中繼資料都儲存在檔案系統(例如,HDFS)或Object Storage Service(例如,OSS-HDFS)中,儲存的根路徑由warehouse參數指定。

    1. 進入Trino服務的配置頁面。

      1. 登入E-MapReduce控制台

      2. 在頂部功能表列處,根據實際情況選擇地區和資源群組

      3. 在EMR on ECS頁面,單擊目的地組群操作列的叢集服務

      4. 叢集服務頁面,單擊Trino服務地區的配置

    2. 配置頁面,找到paimon.properties頁簽。

    3. 修改warehouse參數,參數值需指向儲存的根路徑。

    4. 儲存配置。

      1. 單擊儲存

      2. 在彈出的對話方塊中,輸入執行原因,單擊儲存

  2. (可選)指定MetaStore類型。

    Trino使用的MetaStore類型根據您建立叢集時選擇的服務自動化佈建。如果您想更改MetaStore類型,可以在Trino服務配置頁面的paimon.properties頁簽,修改metastore的參數值。

    Paimon共有以下三種MetaStore類型:

    • filesystem:中繼資料僅儲存在檔案系統或Object Storage Service中。

    • hive:中繼資料同步到指定的Hive MetaStore中。

    • dlf:中繼資料同步到DLF中。

  3. 重啟Trino服務。

    1. 在Trino服務配置頁面,選擇右上方的更多操作>重啟

    2. 在彈出的對話方塊中,輸入執行原因,單擊確定

    3. 確認對話方塊中,單擊確定

  4. 查詢Paimon資料。

    下面以Spark寫入Filesystem Catalog為例。

    1. 執行以下命令,啟動Spark SQL。

      spark-sql --conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog --conf spark.sql.catalog.paimon.metastore=filesystem --conf spark.sql.catalog.paimon.warehouse=oss://<OSS-HDFS網域名稱>/warehouse
      說明
      • spark.sql.catalog.paimon:定義了名為paimon的Catalog。

      • spark.sql.catalog.paimon.metastore:指定Catalog使用的中繼資料存放區類型。設定為filesystem意味著中繼資料存放區在本地檔案系統。

      • spark.sql.catalog.paimon.warehouse:配置資料倉儲的實際位置,請根據實際情況修改。

    2. 執行以下Spark SQL語句,在Catalog中建立一張表,並寫入資料。

      -- 切換到paimon catalog
      USE paimon;
      
      -- 在建立的catalog中,建立並使用一個測試database。
      CREATE DATABASE test_db;
      USE test_db;
      
      -- 建立Paimon表。
      CREATE TABLE test_tbl (
          uuid int,
          name string,
          price double
      ) TBLPROPERTIES (
          'primary-key' = 'uuid'
      );
      
      -- 向Paimon中寫入資料。
      INSERT INTO test_tbl VALUES (1, 'apple', 3.5), (2, 'banana', 4.0), (3, 'cherry', 20.5);
    3. 執行以下命令,啟動Trino。

      trino --server master-1-1:9090 --catalog paimon --schema default --user hadoop
    4. 執行以下命令,查詢剛剛寫入的資料。

      USE test_db;
      
      SELECT * FROM test_tbl;