Skip to content

关于模型

概述

dbt Core和Cloud由不同的部件组成并和谐地运行。所有这些对dbt的工作都很重要——将数据转换为ELT中的'T'。当您执行dbt-run时,您正在运行一个模型,该模型将在数据不离开数据仓库的情况下进行转换。

模型是开发人员在dbt环境中花费大部分时间的地方。模型主要以select语句的形式编写,并保存为.sql文件。虽然定义很简单,但执行的复杂性会因环境而异。随着需求的发展和您的组织找到最大化效率的新方法,模型将可能会被编写和重写。

SQL是大多数dbt用户将使用的语言,但它并不是唯一用于构建模型的语言。从1.3版本开始,dbtCore和dbtCloud支持Python模型。Python模型对于训练或部署数据科学模型、复杂转换或特定Python包满足需求非常有用;例如使用dateutil库来解析日期。

模型和现代工作流程

dbt工作流的顶层是项目。项目是.yml文件(项目配置)和.sql.py文件(模型)的目录。项目文件告诉dbt项目上下文,模型让dbt知道如何构建特定的数据集。有关项目的更多详细信息,请参阅关于dbt项目

您的组织可能只需要几个模型,但更有可能需要嵌套模型的复杂结构来转换所需的数据。模型是一个包含最终select语句的单个文件,一个项目可以有多个模型,模型甚至可以相互引用。除此之外,与旧方法相比,在转换复杂数据集时可以大幅提升工作效率。

SQL modelsPython models页面中了解更多关于模型的信息。如果您想从一点练习开始,请访问我们的入门指南,了解有关设置Jaffle_Shop示例数据的说明,以便您可以亲身体验dbt的强大功能。