> For the complete documentation index, see [llms.txt](https://docs.reorc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reorc.com/cn-reorc-help-center/data-ingestion/gai-shu.md).

# 概述

数据摄入指把数据从一个数据源（如 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）](/cn-reorc-help-center/data-ingestion/shu-ju-zhuan-huan-transform.md)

## 数据导入（Load）

* 将数据导入到目标数据源，支持数据库、数仓及对象存储系统等多种数据源类型
* 数据库及数仓的数据导入分为三种模式：
  * OVERWRITE: 全表覆盖，用于全量数据同步。
  * MERGE: 合并，一般用于大表的增量同步，当目标数据和新增数据存在重复时，会根据主键字段更新为新增的数据。
  * APPEND: 追加，一般适用于日志型数据，重复导入可能会产生重复数据，请谨慎使用。

## 连接源类型

不同连接源的配置项各有不同，具体请查看 [连接源类型](/cn-reorc-help-center/data-ingestion/lian-jie-yuan-lei-xing.md)
