全部產品
Search
文件中心

E-MapReduce:Paimon與Hive整合

更新時間:Apr 21, 2026

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

前提條件

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

使用限制

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

操作步驟

  1. 通過SSH方式串連叢集的Master節點,具體操作請參見登入叢集Master節點

  2. 通過Spark寫入Paimon資料。

    其他服務通過Hive Catalog同步中繼資料到Hive MetaStore後,可以在Hive中直接查詢Hive Catalog中的表。如果建立叢集時,元数据選擇為DLF统一元数据,則其它服務也可以通過DLF Catalog同步中繼資料到DLF,並在Hive中查詢。

    下面以Spark寫入Hive Catalog為例。

    1. 啟動Spark SQL。

      使用spark-sql命令列工具串連到Paimon Catalog,並指定Hive Metastore的地址和資料倉儲路徑。

      spark-sql \
        --conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog \
        --conf spark.sql.catalog.paimon.metastore=hive \
        --conf spark.sql.catalog.paimon.uri=thrift://master-1-1:9083 \
        --conf spark.sql.catalog.paimon.warehouse=oss://<yourBucketName>/warehouse
      說明
      • spark.sql.catalog.paimon:定義了名為paimon的Catalog。

      • spark.sql.catalog.paimon.metastore:指定Catalog使用的中繼資料存放區類型。設定為hive意味著將中繼資料同步到Hive Metastore中。

      • spark.sql.catalog.paimon.uri:為Hive MetaStore Service的地址和連接埠。參數值為thrift://master-1-1:9083,這意味著Spark SQL將串連到這個運行在master-1-1主機上、監聽9083連接埠的Hive Metastore服務以擷取中繼資料資訊。

      • spark.sql.catalog.paimon.warehouse:配置資料倉儲的實際位置,請根據實際情況修改。其中<yourBucketName>為OSS的儲存空間,建立操作請參見建立儲存空間

    2. 建立資料庫和表。

      在Paimon中建立一個測試資料庫test_db和表test_tbl,並插入一些資料。

      -- 切換到paimon catalog
      USE paimon;
      
      -- 在已建立的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. 通過Hive查詢Paimon資料。

    1. 串連Hive

    2. 執行以下Hive SQL,查詢剛剛寫入的資料。

      select * from test_db.test_tbl;

      返回以下資訊。

      OK
      1       apple   3.5
      2       banana  4.0
      3       cherry  20.5
  4. 通過Hive外表查詢Paimon資料。

    Hive支援將指定路徑下的Paimon表添加為外部表格,並直接查詢其資料。

    1. 串連Hive

    2. 在Hive中執行以下命令,將Paimon表添加為外部表格。

      CREATE EXTERNAL TABLE test_ext_tbl
      STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
      LOCATION 'oss:// <yourBucketName>/warehouse/test_db.db/test_tbl';

      參數說明:

      • STORED BY 'org.apache.paimon.hive.PaimonStorageHandler':指定使用Paimon的儲存處理器。

      • LOCATION:指定Paimon表的儲存路徑。

        請根據實際情況替換oss://<yourBucketName>/warehouse/test_db.db/test_tbl為實際的Paimon表格儲存體路徑。

    3. 執行以下 SQL 陳述式,查詢剛剛建立的外部表格。

      SELECT * FROM test_ext_tbl;