文档

Paimon与Trino集成

更新时间:

E-MapReduce支持在Trino中查询Paimon数据。本文通过示例为您介绍如何在Trino中查询Paimon中的数据。

使用限制

EMR-3.46.0及后续版本、EMR-5.12.0及后续版本的集群,支持在Trino中查询Paimon中的数据。

操作步骤

  1. 指定warehouse路径。

    Paimon将数据和元数据都保存在文件系统(例如,HDFS)或对象存储(例如,OSS)中,存储的根路径由warehouse参数指定。

    1. 进入Trino服务的配置页面。

      1. 登录EMR on ECS控制台

      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:元数据仅保存在文件系统或对象存储中。

    • 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://<yourBucketName>/warehouse
    2. 执行以下Spark SQL语句,在Catalog中创建一张表,并写入数据。

      -- 在创建的catalog中,创建并使用一个测试database。
      CREATE DATABASE paimon.test_db;
      USE paimon.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;

  • 本页导读 (1)
文档反馈