跳到主要内容
版本:4.x

Paimon

适用版本 企业版功能TapData Enterprise 可部署在您的本地数据中心,适合对数据敏感性或网络隔离有严格要求的场景,可服务于构建实时数仓,实现实时数据交换,数据迁移等场景。 社区版功能TapData Community 是一个开源的数据集成平台,提供基础的数据同步和转换功能,可通过 Docker 一键部署,帮助您快速探索和实施数据集成项目。随着项目或企业发展,您可以平滑升级至 TapData Cloud 或 TapData Enterprise,以获得更多高级功能或服务支持。

Apache Paimon(简称 Paimon) 一种 Lake 格式,支持使用 Flink 和 Spark 构建实时 Lakehouse 架构,用于流式和批处理操作。 Tapdata 支持将数据实时写入 Paimon 表,用于实时数据湖构建。

支持版本

Paimon 0.6+ 版本(推荐 0.8.2+)

支持同步的操作

仅 DML 操作:INSERT、UPDATE、DELETE

支持的数据类型

支持 Paimon 0.6+ 版本的所有数据类型,为保障数据精度,建议参考官方文档设置表列类型映射,如 Parquet 格式下 DATE 类型推荐使用 INT32 存储。

提示

您可以通过增加类型修改的处理节点,来修改目标 Paimon 表的类型,从而实现数据类型的转换。

注意事项

  • 为避免并发冲突和降低 Compaction 压力,将数据同步到 Paimon 时,为任务的目标节点建议关闭多线程写入,同时将单次写入数据量改大到 1,000,超时时间改为 1,000。
  • 始终为表定义主键以实现高效更新删除,如表规模较大,推荐使用分区功能以提升查询/写入性能。
  • Paimon 仅支持主键(不支持传统索引),不支持运行时动态模型变更。

连接 Paimon

  1. 登录 Tapdata 平台

  2. 在左侧导航栏,单击连接管理

  3. 单击页面右侧的创建

  4. 在弹出的对话框中,搜索并选择 Paimon

  5. 在跳转到的页面,根据下述说明填写 Paimon 的连接信息。

    连接 Paimon

    • 基本设置
      • 连接名称:填写具有业务意义的独有名称。

      • 连接类型:仅支持将 Paimon 作为目标库。

      • 仓库路径:Paimon 存储数据的根路径,存储类型为 S3 时,填写示例为 s3://bucket/path;存储类型为 HDFS 时,填写示例为 hdfs://namenode:port/path;存储类型为 OSS 时,填写示例为 oss://bucket/path;存储类型为本地文件系统时,填写示例为 /local/path/to/warehouse

      • 存储类型:Paimon 支持多种存储类型,包括 S3、HDFS、OSS 和本地文件系统,根据实际场景选择合适的存储类型。

        支持标准 S3 协议的对象存储服务,如 AWS S3、MinIO 等,需要填写下述配置:

        • S3 端点:填写 S3 服务端点,包含端口号,例如:http://192.168.1.57:9000/
        • S3 访问密钥:填写 S3 服务的访问密钥 ID
        • S3 密钥:填写 S3 服务的密钥
        • S3 区域:填写 S3 服务的区域,例如:us-east-1
      • 数据库名称:一个连接对应一个数据库,默认为 default,如有多个数据库则需创建多个数据连接。

    • 高级设置
      • Agent 设置:默认为平台自动分配,您也可以手动指定 Agent。
      • 模型加载时间:如果数据源中的模型数量少于10,000个,则每小时更新一次模型信息。但如果模型数量超过10,000个,则刷新将在您指定的时间每天进行。
  6. 单击页面下方的连接测试,提示通过后单击保存

    提示

    如提示连接测试失败,请根据页面提示进行修复。

节点高级特性

在配置数据同步/转换任务时,将 Paimon 作为目标节点时,您可以在节点的高级配置中,进一步设置建表与写入相关参数,以更好平衡写入性能、表组织方式和存储成本。

Paimon 节点高级特性

提示

以下与建表相关的配置,主要在目标表不存在且由 Tapdata 自动建表时生效;如果目标表已存在,则默认沿用现有表结构与表属性,不会自动改写已有配置。

配置说明
Hash 键开启后,当主键或更新条件字段较多时,系统会自动在 Paimon 表中增加 _hash_key 字段并以其作为主键,以降低宽主键场景下的写入开销。建议仅在主键字段较多、写入性能受影响时开启。
分区键为目标表指定分区字段。置空表示不启用分区;建议在大表,或需要按日期、业务维度进行数据组织的场景中使用。
分桶模式支持动态模式固定模式。动态模式适合通用场景,由系统自动分配桶;固定模式通常能提供更稳定的写入性能,但需要配合分桶数量一起设置。
分桶数量仅在分桶模式为固定模式时生效,用于指定桶数,默认值为 4。建议结合数据量、并发写入情况和小文件控制需求综合设置。
文件格式指定建表时的底层文件格式,支持 ORC、Parquet、Avro、CSV、JSON、Lance、Blob 等。建议根据查询引擎兼容性、压缩比和读写性能要求选择。
压缩格式指定数据文件的压缩格式,支持 None、Snappy、LZ4、ZSTD、GZIP、BZIP2。通常需要在压缩率、CPU 消耗与读写性能之间进行权衡。
表属性支持以键值对的形式追加 Paimon 表属性,用于进一步控制表行为。适合需要细粒度定制建表参数的场景。
写入缓冲区大小(MB)控制写入时的内存缓冲区大小,默认值为 256 MB。适当调大可以提升吞吐量,但也会增加内存占用。
写入线程数控制并行写入线程数,默认值为 4。在资源充足时适当调大可提升写入并发能力,但也会带来更高的资源消耗。
启用自动压缩控制是否启用自动 Compaction。开启后有助于减少小文件并改善查询性能;关闭后可降低压缩开销,但可能产生更多小文件。
压缩间隔(分钟)在启用自动压缩后生效,用于控制自动压缩的执行间隔,默认值为 30 分钟。
目标文件大小(MB)控制目标数据文件大小,默认值为 128 MB。适当调大有助于减少小文件数量,但会提高单文件的处理成本。
是否更新主键开启后,当检测到主键值发生变化时,系统会将更新操作转换为“删除旧记录 + 写入新记录”。该功能要求源端能够提供更新前数据;若无法提供,任务会报错,且开启后会降低更新性能。