> 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/shu-ju-jian-mo/gai-shu.md).

# 概述

数据转换（ETL）是构建有效数据管道的关键步骤之一。在这个阶段，从集中式数据库或数据仓库加载的原始数据被转换成所需的结构和格式，以便分析师可以提取出符合业务需求的关键洞察。

现代数据转换工具通过将软件工程原则应用于分析领域，显著提升了这一过程的效率，如 [*dbt*](https://www.getdbt.com/) (Data Build Tool) 。这些原则包括模块化 SQL 脚本编写、版本控制、验证以及与编排平台的集成。这种方法使得数据转换更加可靠且具有可扩展性。

Recurve 采用了开源 dbt 的最佳实践，并结合自身的设计元素进行优化，为用户提供了一个功能强大的数据转换工作空间，所有操作均在 **数据建模** 模块中完成。

## 组件

如果您之前使用过 dbt，Recurve 数据建模模块中的一些概念对您来说可能会比较熟悉。Recurve 利用了开源 dbt 的多种数据转换技术和组件，并通过直观的资产管理系统对它们进行了增强。

以下是一些操作指南，帮助您在 Recurve 中顺利开始数据建模。

* [**数据源**](/cn-reorc-help-center/shu-ju-jian-mo/shu-ju-yuan.md)（Sources）：数据源是对数据库中的原始表或在其他项目中定义的模型的引用。这些数据源作为数据转换的输入。
* [**模型**](/cn-reorc-help-center/shu-ju-jian-mo/mo-xing.md)（Models）：用于处理数据、应用转换并输出结构化数据集的查询。Recurve 目前支持 SQL 语言编写的模型。
* [**Jinja 模板**](/cn-reorc-help-center/advanced_usage/jinja-mu-ban.md)（Jinja templating）：Jinja 是一种最初用于 Python 生态系统的模板语言。使用 Jinja，您可以在 SQL 转换中加入编程特性，如循环、变量和函数（或宏），从而增强 SQL 的灵活性。
* [**数据血缘**](/cn-reorc-help-center/shu-ju-jian-mo/shu-ju-xue-yuan.md)（Data lineage）：数据血缘提供了数据在各个转换过程中的可视化流向，从源头到目标。该功能帮助您了解转换如何影响下游输出。
* ***（即将上线）*****数据测试**（Data tests）：数据测试是对项目中的模型和资源所设定的校验条件。通过这些测试，可以验证数据转换的准确性，确保模型输出结果符合预定义的标准。
