DBT彻底改变了数据团队查看和处理转换的方式。在这个生态系统中,dbt Exposures 作为一个强大的功能脱颖而出,它弥补了原始数据模型与其下游应用程序之间的差距。本质上,公开允许您定义和描述dbt项目是如何在下游被利用的,无论是在仪表板、应用程序还是数据科学管道中。
为什么要使用dbt曝光?
想象一下,对核心数据模型进行更改,却不知道它会如何影响首席执行官查看的月度销售仪表板。这就是曝光的作用。他们提供:
- 下游影响分析:了解对数据模型所做更改的潜在影响。
- 节省时间:无需对数据源或分析资产进行逆向工程。
- 增强的文档:在自动生成的文档站点中,每个公开都有其专用页面,为数据使用者提供了清晰度。
dbt Exposures 定义步骤
了解下游用法
在定义dbt Exposures之前,确定哪些下游工具或报告依赖于你的dbt模型。例如,BI中的销售仪表板可能构建在monthly_sales
dbt模型之上。
创建.yaml 文件
浏览到dbt项目目录,创建或打开一个现有的.yml文件,在其中定义dbt Exposures。
定义dbt Exposures属性
下面是示例:
version: 2
exposures:
- name: sales_dashboard_exposure
type: dashboard
owner:
name: Marty McFly
email: marty@FrisbiePieCompany.com
depends_on:
- ref('monthly_sales')
description: Monthly sales dashboard used by the executive team.
url: https://bi.company.com/dashboards/123
maturity: high
链接dbt Exposures至模型
depends_on属性将dbt Exposures链接到其上游dbt模型。在我们的示例中,BI仪表板依赖于monthly_sales dbt模型。
在项目使用dbt Exposures
- 运行模型
dbt run -s +exposure:sales_dashboard_exposure
- 测试模型
dbt test -s +exposure:sales_dashboard_exposure
dbt Exposures可视化
使用dbt docs Generate
生成dbt文档,并使用dbt docs serve
查看文档。导航到Exposures部分,可以看到每个Exposures的专用页面,其中包含你提供的所有详细信息。
使用dbt曝光的最佳实践
- 定期更新曝光:随着数据模型的发展,确保曝光反映了这些变化。
- 保持清晰的描述:这有助于数据使用者理解每个公开的目的和上下文。
- 监视成熟度级别:当仪表板或报告从开发转移到生产时,在公开中更新其成熟度级别。期待您的真诚反馈,更多内容请阅读数据分析工程专栏。