问题标签 [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.
dbt - dbt:如何在没有生产模式前缀的情况下将源表写入自己的模式?
我正在尝试遵循 Gitlab 的文件夹和 dbt 结构。特别是对于源,他们为每个源表都有一个单独的模式。我的生产模式称为分析,我的生产数据库称为分析。当我在生产中运行时,dbt 将创建 analytics.analytics_sfdc 而不是 analytics.sfdc。如何进行设置以便将源表写入analytics.sfdc?
谢谢!
snowflake-cloud-data-platform - CI 临时架构未删除
我最近在 dbt Cloud 上启用了 CI 功能。他们的文件提到
PR 关闭后,dbt Cloud 将删除临时架构。
但是,一旦我关闭了 PR,这些模式似乎并没有真正删除。
有人知道这里发生了什么吗?
amazon-redshift - DBT模型挂
我使用 macOS,但在大桌子上完全刷新时遇到问题。在运行期间,它看起来好像挂起并且在 redshift 中没有运行查询。较小的表不会发生这种情况,如果我运行增量表也不会发生。这个表曾经更小,只要我指定了表,我就可以运行完全刷新。现在它更大了,我似乎遇到了这个问题。该模型依赖于 6 个表。几乎就像没有发送命令一样。有什么建议么?没有错误,因为它只是没有运行。在 windows 和 macos 上运行它的其他团队成员预计它会在 10 分钟内完成。目前是 30 分钟,但我让它坐的时间比这长得多。我的命令是
dbt run --models +fct_mymodel --full-refresh --vars "run_date_start: 2020-06-01"
谢谢
sql - 使用 DBT for Redshift 中的宏连接列
column1 ^^ column2 ^^ ...
我想使用DBT for Redshift 中的语法连接几列。如果列中存在 NULL 值,@@
则应使用 fe @@ ^^ @@
。我找到了以下用于连接的宏:
当我在我的选择语句中使用它时:
我收到以下错误。这与我正在使用的代码有关吗?
sql - 有没有办法设置所有日期?
我想知道,在 SQL/dbt 中有没有办法将所有日期设置为 >= 另一个日期?
假设我有一个“createdat”日期字段和一个“updatedat”日期字段。我在查询(多个 CTE)以及其他日期中多次使用它。我想确保所有使用的日期都小于上个月的最后一天(即 <= last_day(current_date()-30, month))。
有没有办法在查询的开头设置它?
clickhouse - 如何将 dbt 与 clickhouse 一起使用?
是否有人将 dbt 与 clickhouse 数据库一起使用,您是如何做到的?
我看到没有原生支持,也许你使用了一些包?
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 中最好地实现这一点的想法?也对问题的替代框架持开放态度,这些框架采用不同的方法将来自不同模式中相同表的信息组合到单个暂存表中,以由数据管道处理。
airflow - 如何在不复制我们的 repo 的情况下在气流中运行 DBT
我们在 BigQuery 中使用 DBT 与 GCP 和 BigQuery 进行转换,安排我们每天的最简单方法run dbt
似乎是BashOperator
在 Airflow 中。目前我们有两个独立的目录 / github 项目,一个用于 DBT,另一个用于 Airflow。为了安排 DBT 与 Airflow 一起运行,我们的整个 DBT 项目似乎需要嵌套在我们的 Airflow 项目中,这样我们就可以为我们的dbt run
bash 命令指向它?
是否可以在不将我们的 DBT 目录移动到我们的 Airflow 目录中的情况下dbt run
触发我们?dbt test
使用airflow -dbt 包,对于dir
中的default_args
,也许可以在这里指向DBT 项目的gibhub 链接?