dbt compile 命令及应用

编写dbt模型和存储过程有较大差异,比如不建议update和insert,大多数代码是select语句。同时需要引用jinja函数、复杂逻辑以及宏,这些差异经常让开发者不确定生成的模型是否满足需求。本文介绍dbt compile命令可以在开发过程中随时查看编译后的SQL语句,帮助开发者及时发现模型问题。

应用场景

dbt模型概念让数据团队可以轻松实现版本控制和协作,但当一些SQL语句不完全符合dbt模型框架规范时,我们可以在analysis目录中编写模型代码。任何在目录的SQL文件,dbt仅编译但不执行。这样模型代码中{ { ref(...) }}会编译为对应数据仓库中的表或视图等对象。

举例,假设下面模型代码:

-- analyses/running_total_by_account.sql

with journal_entries as (

  select *
  from {
  { ref('quickbooks_adjusted_journal_entries') }}

), accounts as (

  select *
  from {
  { ref('quickbooks_accounts_transformed') }}

)

select
  txn_date,
  account_id,
  adjusted_amount,
  description,
  account_name,
  sum(adjusted_amount) over (partition by account_id order 

你可能感兴趣的:(数据分析工程,#,python,分析工程,数据转换,数据仓库)