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

dbt - 如何使用 DBTCloud 执行存储过程

我正在尝试使用 dbtcloud 作为加载数据仓库的编排工具。通过调用一系列存储过程来加载数据。尝试通过 dbt 调用单个存储过程时,sql 成功执行,但是当我检查表时没有加载新数据。这是我如何调用proc的示例。有任何想法吗?谢谢!

0 投票
2 回答
704 浏览

sql - 使用 SQL 向 BigQuery 中的字段添加说明

我想为表中的每个字段添加描述。我的问题是我们正在使用 dbt,并且每次运行作业时此工具都会重新创建表,从而导致如果存在描述,则将其删除。我能够控制在最后一个 SELECT 语句中转换字段的数据类型,但我不确定是否可以使用 SQL 添加描述。

我已经在谷歌上搜索了一段时间,但无法查看是否可以通过这种方式使用 SQL 添加描述。

我想过一种解决方法是创建表然后插入,但这在理论上使用 dbt 是不好的做法。

谢谢!

0 投票
1 回答
2151 浏览

dbt - 我们如何在 SCD 1 实现的增量模型中使用合并语句

我正在尝试使用合并查询在数据构建工具中实现 scd1。但我没有得到在增量模型中编写此查询的确切方法。

任何人都可以显示我们必须在哪里编写合并查询。

0 投票
3 回答
871 浏览

snowflake-cloud-data-platform - 由于 300010:2077141494 导致的内部 SQL 错误 (000603 (XX000))

我在 dbt 中收到以下错误,使用雪花,我无法弄清楚问题是什么。

当我打开文件并手动运行它时,我有一个 100% 运行的临时表。但是,当我运行它时, dbt run --models +stg_bank_balances 我得到了这个错误......有什么想法吗?


编译的SQL代码:

0 投票
1 回答
3445 浏览

snowflake-cloud-data-platform - 从外部来源使用 dbt 查询

我有以下问题:

  • 我有一个 AWS S3 管道,每天都会吐出一个 json.gz 文件。
  • 我希望用 dbt 将该文件放入雪花中(不使用雪管 atm)

我已经设法通过创建存储集成来做到这一点,并且我已经使用我的角色(用于运行 dbt)手动创建了一个模式并评估该模式的使用情况。到现在为止还挺好。

然后我读到了这个:

https://github.com/fishtown-analytics/dbt-external-tables

问题是这是正确运行的唯一方法,我必须更改我的 dbt profiles.yml,将默认模式设置为 S3_MIXPANEL 和默认数据库 RAW_DEV,使用 --target 'ingest_dev' 参数运行不同的目标和角色.

我一直认为应该有一个更复杂的解决方案,我可以在其中创建模式和查询元数据并使用类似 {{ source() }} 的东西,这样我就可以以某种方式指出我的文档这是一个外部来源。我认为这个 dbt-external-tables 并没有很好地解释我的情况?

请任何人都可以帮助我并分享如何正确地从外部阶段创建模式和查询,而无需每次都更改默认模式宏和 dbtprofiles.yml?

我已成功运行以下代码:

编辑 22-06-20:

我已经在我的模型中添加了 src_mixpanel.yml 文件并运行了 dbt 命令,但是我还必须指定 data_types,所以我也添加了它们,然后我显然也必须在我的宏中添加“宏”(顺便说一句,也许是愚蠢的问题,但我真的不知道如何安装你的包,所以我手动将你的所有宏添加到我的包中)。

现在当我运行这段代码时:

我收到一个错误:

运行操作时遇到错误:宏 stage_external_sources (macros/stage_external_sources.sql)
'dict object' has no attribute 'sources'中的编译错误

0 投票
1 回答
424 浏览

jinja2 - 将关系对象列表传递给 dbt_utils.union_relation 宏失败

dbtjinja2相关

我正在使用union_relationsdbt_utils(0.5.0)。

我创建了我的宏,它采用完全限定名称列表(如database.schema.identifier)拆分它并使用api.Relations.create (链接)创建一个关系并将每个关系附加到一个列表中。

{{ list_of_relation }}被赋予dbt_utils.union_relations(as relations=my_macro([list of fully qualified names])),它给了我一个_is_relation错误,我确实log用来调试并查看它是否真的创建了一个关系并且确实如此。有什么问题?

0 投票
3 回答
3064 浏览

dbt - DBT 将支持创建临时表,例如 create table #temp1 as select * from tab1 还是仅适用于 CTE 方式

我找到了一种在 DBT 中处理临时表的方法,将所有这些都写入 pre-hook 并在 pre-hook 外部调用最终的临时表,经过测试并且工作正常,能够减少代码运行时间超过 20 分钟到 1 分钟。但我发现一个问题是我们在 DBT 文档中看不到谱系图。除了 pre-hook 和 Docs 中的沿袭之外,还有什么方法可以处理临时表?

0 投票
4 回答
3084 浏览

dbt - dbt可以连接同一个项目的不同数据库吗?

似乎 dbt 仅适用于单个数据库。

如果我的数据在不同的数据库中,那还能用吗?例如,如果我的数据湖正在使用 delta,但我想使用 Redshift 运行 dbt,那么 dbt 是否仍然适用于这种情况?

0 投票
1 回答
485 浏览

dbt - dbt:sql_header 宏限制与查询注释

Dbt 有一个配置设置sql_header,表面上是用于在运行时将 udf 注入模型语句。不幸的是,似乎不支持调用宏。此外,临时实现不受此设置的影响。sql_footer我在sql 语句的末尾创建了一个名为 but 的设置,并且具有类似的限制。

除了注释块之外,是否可以合理地调整 query_header代码以支持注入原始 sql,例如通过向配置字典添加执行布尔值?

我理解将 sql 注入 sql 的任何沉默,我的用例是模型开发人员永远不会接触到的非常系统级配置,并且理想情况下将通过 cicd 进行控制。我们的 etl 有不同的实现,根据环境需要不同的暂存过滤器。我宁愿注入一两行 sql 而不必为每个实现复制模型。例如:

0 投票
0 回答
1819 浏览

snowflake-cloud-data-platform - 如何使用 DBT 使用 sso 身份验证连接雪花

我正在尝试使用带有 SSO 身份验证机制的 DBT 连接雪花。为此,应打开一个外部浏览器窗口以传递凭据。为了与雪花连接,我构建了 profile.yml 文件,如下所示

但是当我尝试连接时,会出现以下错误