dbt_metrics 项目教程
dbt_metricsMacros for calculating metrics项目地址:https://gitcode.com/gh_mirrors/db/dbt_metrics
项目介绍
dbt_metrics
是一个由 dbt Labs 开发的开源项目,旨在通过宏和配置简化数据仓库中的指标计算。该项目支持多种数据仓库适配器,如 Snowflake、BigQuery、Redshift、Postgres 和 Databricks。通过 dbt_metrics
,用户可以定义和管理数据模型中的指标,实现一致性和可发现性。
项目快速启动
安装
首先,确保你已经安装了 dbt。然后,在你的 dbt 项目中添加 dbt_metrics
包:
# packages.yml
packages:
- package: dbt-labs/metrics
version: [">=1.5.0", "<1.6.0"]
运行以下命令安装包:
dbt deps
配置
在你的 dbt 项目中定义一个指标:
# models/metrics.yml
version: 2
metrics:
- name: new_customers
label: "New Customers"
model: ref('customers')
calculation_method: count
timestamp: created_at
time_grains: [day, week, month]
dimensions: [plan, country]
config:
enabled: true
使用
使用 calculate
宏来计算指标:
-- models/example.sql
select * from {{ metrics.calculate(
metric('new_customers'),
grain='week',
dimensions=['plan', 'country'],
secondary_calculations=[
metrics.period_over_period(comparison_strategy="ratio", interval=1, alias="pop_1wk"),
metrics.period_over_period(comparison_strategy="difference", interval=1),
metrics.period_to_date(aggregate="average", period="month", alias="this_month_average")
]
) }}
应用案例和最佳实践
Jaffle Shop 指标
参考 jaffle_shop_metrics
项目,了解如何在 dbt 项目中实现指标。该项目提供了一个实际的业务场景,展示了如何定义和计算指标,以及如何使用次级计算来增强指标分析。
最佳实践
- 一致性:确保指标在所有引用处保持一致。
- 泛化:优先选择具有多个维度的通用指标,而不是具有少数维度的特定指标。
- 易用性:使 dbt 的指标使用比避免使用它们更容易。
- 组织和可发现性:重视指标的组织和可发现性,如同重视精度一样。
典型生态项目
dbt Core
dbt_metrics
是 dbt Core 的一部分,dbt Core 是一个强大的工具,用于在数据仓库中进行数据转换和建模。通过结合 dbt_metrics
,用户可以更高效地管理和分析数据。
Snowflake, BigQuery, Redshift, Postgres, Databricks
这些是 dbt_metrics
支持的数据仓库适配器。用户可以根据自己的数据仓库选择合适的适配器,实现无缝集成和高效的数据分析。
通过本教程,你应该能够快速上手 dbt_metrics
项目,并在你的 dbt 项目中实现高效的指标管理和分析。
dbt_metricsMacros for calculating metrics项目地址:https://gitcode.com/gh_mirrors/db/dbt_metrics