问题标签 [dbt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1458 浏览

sql-server - 我们可以将删除 SQL 语句转换为 DBT 吗?

我正在尝试从 SQL 构建一个 DBT 模型,该模型具有基于 where 子句的删除语句。

谁能建议我如何将以下 SQL 删除语句转换为 DBT 模型?

''' 删除表名 where 条件;

'''

谢谢

0 投票
1 回答
674 浏览

sql - dbt 宏 - 使用 *args/**kwargs

有时,我们的表需要将多个列附加在一起以生成唯一键。这可以通过执行以下操作来完成:

这可行,但会导致多个分析师之间缺乏一致性。

我想利用 pythons *args(我认为 jinja2 使用varargs)功能来制作一个可以接受任意数量的参数并在所有参数之间创建唯一键的宏。

理想结果:

0 投票
3 回答
887 浏览

json - 从雪花中的子查询创建 JSON

我想从值列表中创建一个 JSON 字符串,但我以前从未使用过 JSON。请看下图,了解我的 2 个表格,以及我想在右侧创建的内容。

在此处输入图像描述

我试过这个,但它不起作用(请原谅我的天真......但我认为这将是它的逻辑实现)

我将不胜感激。我尝试用谷歌搜索,但我发现雪花文档非常混乱。

0 投票
1 回答
825 浏览

python - 是否可以将动态值传递给 dbt 源新鲜度测试?

我正在尝试根据基础源的“synced_at”列的中位数和标准差动态确定在 dbt sources.yml 中指定的新鲜度检查的警告和错误。

为此,我想我可能会尝试在 source.yml 文件的新鲜度块中传递一个宏,如下所示:

在哪里:

但是,这会导致类型错误。大概宏根本没有被调用。用 jinja 引号括起来也会返回错误。

我很好奇目前是否可以通过任何方式将动态值传递给新鲜度检查?

0 投票
2 回答
4908 浏览

snowflake-cloud-data-platform - 使用 dbt 的物化视图与表

我刚刚入职 dbt 并浏览了教程文档我想知道将我的转换具体化为视图或表之间是否有区别?我使用雪花作为数据仓库。这里有一些文档显示了表和物化视图之间的区别,但是如果我使用 dbt 定期更新表,它们或多或少会变成同一件事吗?

谢谢!

0 投票
3 回答
518 浏览

null - 如何处理未被识别为 NULL 的 NULL

我正在处理从雪花进入 dbt 的数据,其中一些 NULL 未被识别为 NULL。我很高兴简单地用案例陈述来解决它们,但是我如何识别它们呢?

是否有设置或我们需要切换以解决这些问题?

这是我的查询:

和输出

在此处输入图像描述

0 投票
1 回答
581 浏览

dbt - 如何在增量模型的前/后挂钩中引用临时模型

我有一个增量模型,它正在更新数据。我想根据来自临时模型之一的时间段列从该模型中删除数据。我已经使用“ref”函数在 pre hook 中引用了临时模型,但它没有复制 CTE。

它正在生成如下 SQL 从 abc.xyz 中删除 time_period in (select distinct time_period from __dbt__CTE__ephemeral_model)

0 投票
1 回答
1154 浏览

dbt - 在 DBT 中 - 为种子设置自定义模式会使 ref 不起作用

我们开始在 DBT 中使用种子功能,我们将单个 CSV 文件放在数据文件夹中,并将种子配置为使用名为 util 的自定义模式 --- 并且它可以工作(即 - 它在正确的模式中创建表)。

yaml 看起来像这样:

但是,当我们在模型中使用 ref 引用它时:

它在我们默认的环境目标模式(public)中寻找它,而不是我们定义的自定义模式——怎么来的?

我应该提到我们还使用了这里提到的宏技巧: https ://docs.getdbt.com/docs/building-a-dbt-project/building-models/using-custom-schemas

更新:添加我们使用的宏代码(作为文件get_custom_schema.sql):

0 投票
1 回答
119 浏览

sql-server - 允许用户在等待上游源数据更改时“修复”源数据

对于我们公司使用的一些 SaaS 工具,第 3 方管理这些工具并为我们提供每日提要,我们将这些提要加载到我们的数据仓库中。

有时,其中一个提要中的记录会出现错误,需要尽快修复以进行下游报告。但是,第 3 方更正源 SaaS 系统中记录的 SLA 最多可能需要两周时间。“错误”不会破坏任何内容,只是记录在应该保持打开状态时关闭,或者字段的值错误。

过程如下:

  1. 我们数据仓库团队下游的 BI 团队 A 注意到了这种差异。
  2. BI 团队 A 更正其数据库中的记录,其他团队从中使用
  3. 从数据仓库和 BI 团队 A 接收数据的 BI 团队 B 发出警报,因为他们发现我们的输出与他们从团队 A 收到的输出之间存在差异。
  4. 我们(数据仓库团队)必须更正源数据
  5. 上游第 3 方最终更正记录

有没有人有这种情况的最佳实践?有什么方法可以:

A. 使 BI 团队 A 能够在不影响数据仓库团队的情况下尽快更正记录,并且 B. 一旦上游 3rd 方更正了源数据,是否可以回滚?

我的一个想法是使用源代码控制的 csv 文件(如dbt seed表格),如果记录通常不包含 PII,因此无法进行版本控制。

0 投票
1 回答
1356 浏览

google-bigquery - 使用 DBT 在 BigQuery 上部署 UDF 函数

想象一下,我想将以下JS 函数部署到 BigQuery。

我试图在宏标签和 do 之间包装 SQL dbt run,但它没有部署。

我怎样才能做到这一点 ?谢谢你。