问题标签 [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 投票
1 回答
543 浏览

dbt - dbt:如何在没有生产模式前缀的情况下将源表写入自己的模式?

我正在尝试遵循 Gitlab 的文件夹和 dbt 结构。特别是对于源,他们为每个源表都有一个单独的模式。我的生产模式称为分析,我的生产数据库称为分析。当我在生产中运行时,dbt 将创建 analytics.analytics_sfdc 而不是 analytics.sfdc。如何进行设置以便将源表写入analytics.sfdc?

谢谢!

0 投票
1 回答
258 浏览

snowflake-cloud-data-platform - CI 临时架构未删除

我最近在 dbt Cloud 上启用了 CI 功能。他们的文件提到

PR 关闭后,dbt Cloud 将删除临时架构。

但是,一旦我关闭了 PR,这些模式似乎并没有真正删除。

有人知道这里发生了什么吗?

0 投票
1 回答
697 浏览

amazon-redshift - DBT模型挂

我使用 macOS,但在大桌子上完全刷新时遇到问题。在运行期间,它看起来好像挂起并且在 redshift 中没有运行查询。较小的表不会发生这种情况,如果我运行增量表也不会发生。这个表曾经更小,只要我指定了表,我就可以运行完全刷新。现在它更大了,我似乎遇到了这个问题。该模型依赖于 6 个表。几乎就像没有发送命令一样。有什么建议么?没有错误,因为它只是没有运行。在 windows 和 macos 上运行它的其他团队成员预计它会在 10 分钟内完成。目前是 30 分钟,但我让它坐的时间比这长得多。我的命令是 dbt run --models +fct_mymodel --full-refresh --vars "run_date_start: 2020-06-01"

谢谢

0 投票
1 回答
968 浏览

sql - 使用 DBT for Redshift 中的宏连接列

column1 ^^ column2 ^^ ...我想使用DBT for Redshift 中的语法连接几列。如果列中存在 NULL 值,@@则应使用 fe @@ ^^ @@。我找到了以下用于连接的宏:

当我在我的选择语句中使用它时:

我收到以下错误。这与我正在使用的代码有关吗?

0 投票
2 回答
1121 浏览

dbt - dbt 两个参数参考

如何引用从view1view2using的相对路径ref('package_name', 'model_name')

文档中没有代码示例。

谢谢你。

0 投票
1 回答
65 浏览

sql - 有没有办法设置所有日期?

我想知道,在 SQL/dbt 中有没有办法将所有日期设置为 >= 另一个日期?

假设我有一个“createdat”日期字段和一个“updatedat”日期字段。我在查询(多个 CTE)以及其他日期中多次使用它。我想确保所有使用的日期都小于上个月的最后一天(即 <= last_day(current_date()-30, month))。

有没有办法在查询的开头设置它?

0 投票
1 回答
501 浏览

clickhouse - 如何将 dbt 与 clickhouse 一起使用?

是否有人将 dbt 与 clickhouse 数据库一起使用,您是如何做到的?

我看到没有原生支持,也许你使用了一些包?

0 投票
1 回答
2411 浏览

jinja2 - 使用 jinja 动态摄取要在 dbt 中查询的模式列表

我正在构建一个从多个模式中提取数据的数据管道。我正在尝试使用 jinja 来获取模式名称列表,然后在将数据组合到单个临时表之前,在所有这些模式中查询表中的特定列(具有相同的名称)。

在概念层面上,我知道我需要使用 Jinja 创建两个列表:一个包含schema我想要循环的名称的列表,以及一个我想要在所有模式中存在的表中查询的列名列表我在查询。让我们调用模式名称schema_names列表和列名称列表column_names

  • {% set var schema_names=('brand1', 'brand2', 'brand3') %}
  • {% set var column_names=('col1', 'col2', 'col3') %}

从理论上讲,下一步似乎是我应该通过 Jinja 将这些值传递到一个查询中,该查询从schema_vars. 如果我手动编写 SQL 查询,我会使用几个WITH语句,然后使用 a 组合UNION ALL

关于如何在 Jinja/dbt 中最好地实现这一点的想法?也对问题的替代框架持开放态度,这些框架采用不同的方法将来自不同模式中相同表的信息组合到单个暂存表中,以由数据管道处理。

0 投票
3 回答
1717 浏览

airflow - 如何在不复制我们的 repo 的情况下在气流中运行 DBT

我们在 BigQuery 中使用 DBT 与 GCP 和 BigQuery 进行转换,安排我们每天的最简单方法run dbt似乎是BashOperator在 Airflow 中。目前我们有两个独立的目录 / github 项目,一个用于 DBT,另一个用于 Airflow。为了安排 DBT 与 Airflow 一起运行,我们的整个 DBT 项目似乎需要嵌套在我们的 Airflow 项目中,这样我们就可以为我们的dbt runbash 命令指向它?

是否可以在不将我们的 DBT 目录移动到我们的 Airflow 目录中的情况下dbt run触发我们?dbt test使用airflow -dbt 包,对于dir中的default_args,也许可以在这里指向DBT 项目的gibhub 链接?

0 投票
1 回答
36 浏览

sql - 当 where 语句说它们不应该匹配时,为什么相等的日期会出现在 select 中?

我正在做一些数据侦察,想看看两个日期字段中的数据是否匹配。每列来自不同的表,因此我想检查它们是否相同。由于它们来自不同的表,并且我们没有 datesync 功能,因此两个字段都关闭了几微秒,也许在这里和那里一秒钟。我不在乎时间,我只在乎这两个字段是否反映相同的日期,因此在我的 where 子句中我将它们转换为日期......但是,这似乎不起作用,因为我仍然获取所有 281 条记录,有或没有

我的查询:

数据输出的样本是: 在此处输入图像描述