Master
Published: Nov 20, 2019
Last Updated: Apr 13, 2021
Apr 2021
试验?

自从上一次介绍dbt以来,我们在一些项目中使用了它。例如,我们倾向于使用dbt完成ELT管道中转换部分的工作,使其更容易被数据消费者访问,而不是仅由数据工程师构建ELT管道。dbt通过鼓励良好的工程实践,如版本控制、自动化测试和部署,来实现这一点。SQL仍然是数据世界(包括数据库、仓库、查询引擎、数据湖和分析平台)的通用语言,大多数系统都在一定程度上支持它。这就使得这些系统可以通过构建适配器来使用dbt进行转换。原生连接器的数量不断增长并囊括了SnowflakeBigQuery、Redshift和Postgres,社区插件的范围也在扩张。我们看到像dbt这样的工具正在帮助数据平台变得更加“自助”。

Nov 2019
评估?

数据转换是数据处理工作流的重要组成部分:筛选、分组或组合多个数据源,将它们转换为适合分析数据或机器学习模型使用的格式。dbt既是一个开源工具,也是一个商业化的SaaS产品,为数据分析师提供了简单高效的转换功能。现有的数据转换框架和工具,要么过分专注于功能强大和灵活性,却也要求对编程模型及语言框架有深刻的理解,例如Apache Spark;要么就只提供一些死板的界面拖放工具,而无法使用可靠的工程实践,如自动化测试和部署。dbt填补了这个空白:它使用被广泛理解的接口,SQL,对简单的批处理转换进行建模。同时dbt也提供了命令行工具以支持版本控制、自动化测试和部署等良好的工程实践。实际上,dbt基于SQL实现了转换模型即代码。目前,dbt支持包括SnowflakeSnowflake和Postgres在内的多种数据源,并提供Airflow及Apache自己的云服务等多种运行方式。dbt的转换能力受限于SQL,在撰写本文时还不支持实时的流式转换。