关于 dbt-model-index
dbt-model-index 是用于记录 dbt 模型的索引技能,帮助数据分析人员为 BigQuery 查询找到合适的表。它强调模型粒度、连接键、常用筛选条件和分区信息,以减少歧义和不必要的全表扫描。
主要功能
- 01按业务领域整理模型
- 02说明表内容与模型粒度
- 03记录常见查询用途
- 04标注连接键和标准筛选条件
- 05记录分区及敏感数据注意事项
适用场景
- 01编写生产数据 SQL 前选择模型
- 02将模糊的数据问题映射到表
- 03确定连接方式和筛选条件
- 04为大型分区表查询控制扫描范围
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ warpdotdev/ oz-skills --skill dbt-model-index安装后在 Claude Code 中输入/dbt-model-index确认已加载。
详细介绍
dbt 模型索引
何时使用
- 在针对生产数据编写任何 BigQuery SQL 之前
- 任务尚未明确说明要查询哪些模型/表时
- 将模糊或不明确的数据问题转化为正确的 BigQuery 表查询时
如何设置此技能
此技能是精心整理的 dbt 模型索引。每个条目都会介绍一个模型(BigQuery 表)、其包含的内容,以及最适合回答的问题类型。
如需根据项目自定义此索引:
- 将模型按逻辑领域分组(例如:用户、活动、收入、事件)
- 对于每个模型,包含:表名、用 1–2 句话描述其粒度和内容,以及涵盖常见查询模式的“适用于:”条目
- 在适用的情况下,注明关键连接键、标准筛选条件和分区字段
[领域:例如,用户与身份]
your_model_name
简要描述此模型包含的内容。每行对应一个[实体]。说明此模型粒度的独特之处以及最重要的字段。
适用于:
- [此模型可回答的问题类型,例如,用户数量、群组规模]
- [另一种用例,例如,筛选特定用户群体]
- [常见连接模式,例如,作为规范的用户维度表与其他表连接]
another_model_name
描述此模型及其粒度。
适用于:[简要说明用例]
[领域:例如,活动与参与度]
your_activity_model
描述活动信号(例如,如何定义“活跃”)、粒度和时间维度。
适用于:
- [用例 1,例如,日/周活跃用户指标]
- [用例 2,例如,留存分析]
your_engagement_model
描述。
适用于:
- [用例 1]
- [用例 2]
[领域:例如,收入与订阅]
your_revenue_model
描述收入粒度(例如,每位客户每天一行,或每个订阅事件一行)。
适用于:
- [用例 1,例如,MRR/ARR 报告]
- [用例 2,例如,流失分析]
your_subscription_model
描述。
适用于:
- [用例 1]
- [用例 2]
[领域:例如,事件与遥测]
your_events_model
描述事件来源、所应用的丰富处理,以及可用的关键字段。
适用于:
- [用例 1,例如,原始事件级分析]
- [用例 2,例如,构建特定领域的转化漏斗]
重要说明
- **标准筛选条件:**记录面向用户的查询中应始终应用的筛选条件(例如,排除测试账号、软删除记录、内部用户或已标记/欺诈用户)。示例:
where not is_internal_user - **生产数据:**指定默认的项目/数据集路径。示例:
your-gcp-project.prod.<model_name> - **成本控制:**对于大型分区表,始终按分区字段筛选并限制日期范围,以避免全表扫描
- **模型粒度:**始终注明每个模型的粒度(每行对应什么?),以避免连接时意外产生行数膨胀
- **计划/层级类型:**如果产品有订阅层级或计划类型,请在此记录有效值,确保查询筛选正确
- **敏感数据集:**如果有模型位于单独的数据集中,请明确指出,以便查询使用正确的完全限定表引用
评论
支持 Markdown