概述

数据摄入指把数据从一个数据源(如 MySQL)同步到数据仓库(如 Apache Doris)。Recurve 的数据同步功能可以支持多源异构的数据交换,如数据库、数据仓库、FTP、对象存储等。

在 Recurve 中,你可以创建一个高级管道,使用 Transfer Operator 节点来实现数据同步。通常包含以下三个主要步骤:

  1. 数据获取(Dump):将数据从数据源中取出

  2. 数据转换(Transform):经过数据处理

  3. 数据导入(Load):将数据写入到目标数据库中

数据获取(Dump)

  • 将数据从指定的数据源中取出,支持数据库、数仓、FTP 等多种连接源类型。

  • 通过设置分片和并发数,能够支持并行地对不同分片进行提取,从而减少整个数据转移所需的时间。

数据转换(Transform)

  • 常见的转换操作如时区转换、从 JSON 提取字段等。Recurve 支持自定义 Python 代码来实现复杂的数据转换,输入一行数据,返回若干(可以是 0、1 或多)条处理后的数据。

  • 在 Transfer Operator 中,部分 Task type 没有 Transform 相关配置项,取决于数据获取的类型

  • 更多使用说明,详见 数据转换(Transform)

数据导入(Load)

  • 将数据导入到目标数据源,支持数据库、数仓及对象存储系统等多种数据源类型

  • 数据库及数仓的数据导入分为三种模式:

    • OVERWRITE: 全表覆盖,用于全量数据同步。

    • MERGE: 合并,一般用于大表的增量同步,当目标数据和新增数据存在重复时,会根据主键字段更新为新增的数据。

    • APPEND: 追加,一般适用于日志型数据,重复导入可能会产生重复数据,请谨慎使用。

连接源类型

不同连接源的配置项各有不同,具体请查看 连接源类型

Last updated