问题标签 [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 deps 命令导致“无法连接到注册表中心”
运行时dbt deps
,我收到此错误消息:
这里发生了什么,我该如何解决?
python - How to use python dependency injection or hooks with dbt
Is there a way to use python based hooks with dbt?
I'm using seed data to create dynamic models with jinja but am looking for a bit more python flexibility than with what's available with jinja natively. As a comparison, something along the lines of the way Django views can inject variables into templates.
I'm new to dbt and perhaps approaching this wrong. Thanks to anyone with help or advice.
Here's an example where I was looking to use python zip and ended up using similar sql logic. I have a similar need to use python's enumerate. Should I just use sql over python for these types of scenario? I suppose most if not all of this can be achieved with sql (i just happen to be more familiar with python than sql when it comes to this type manipulation).
Current working example using sql:
#xA;-->
#xA;desired python example:
#xA;sql - dbt 宏在 sql 调用中迭代列表中的项目?
首先,我是 dbt 的支持者!我喜欢这个工具和它的多功能性。
在阅读一些文档时,我注意到每次调用宏时我都可以在我的模式上做一些元工作。
其中之一是清理模式。
(这已根据 dbt slack 中的讨论进行了编辑)
dbt run-operation freeze
这将自省所有将使用 dbt run 但使用自动生成的哈希(可能只是时间戳)写入的表。它会以我选择的模式输出这些表,并将“哈希”记录到控制台。dbt run-operation unfreeze --args '{hash: my_hash}'
然后将继续查找使用该哈希前缀编写的表并将它们从架构中清除。
apache-spark - 在 DBT 管道中使用外部 parquet 表
我正在尝试设置一个简单的 DBT 管道,该管道使用存储在 Azure Data Lake Storage 上的 parquet 表,并创建另一个也将存储在同一位置的表。
在我的models/
(定义为我的源路径)下,我有 2 个文件datalake.yml
和orders.sql
. datalake.yml
看起来像这样:
我的orders.sql
表如下所示:
我也在用这个dbt-external-tables
包。另请注意,当我运行dbt debug
一切正常时,我可以连接到我的数据库(恰好是 Databricks)。
我尝试运行dbt run-operation stage_external_sources
which returns Error: staging external sources is not implemented for the default adapter
。当我跑步时dbt run
,我得到了Error: UnresolvedRelation datalake.customers
。
或者也许我可以以某种方式使用配置单元元存储?任何有关如何解决此问题的提示将不胜感激!
dbt - DBT 不能在与下游模型不同的模式中引用非临时上游模型
我正在尝试运行引用现有上游表模型的下游模型。这是失败的,因为下游模型试图在下游模式中找到上游模型。
也许它与如何在 DBT Cloud 中设置环境/模式有关?或者,也许我错过了一些简单的东西,但对于我的生活,我找不到它。
我在下面创建了最简单的复制品。
主机:DBT云
数据库:雪花
环境:
- upstream_model 构建在名为 upstream 的 dbt 云环境中,schema = 'upstream_model'
- 下游模型构建在名为下游的dbt云环境中,schema = 'downstream_model'
dbt_project.yml
当上游模型物化 = 'ephemeral' 时,它会工作并将上游模型用作 CTE: Ephemeral materialization
当上游模型实现 = 'table' 时,它会失败,因为它在下游模型的模式中查找上游模型: 创建表失败
上游.yml:
上游模型.sql:
下游.yml:
下游模型.sql:
google-bigquery - 使用 BigQuery 公共数据集作为源时权限被拒绝
在设置指向 Big Query 公共数据集的源并使用 source() 函数在我的 dbt 模型中引用它时,我在 dbt 运行时收到此错误:
它似乎试图从公共数据集中查询信息模式。是否可以在我的 dbt 项目中使用公共数据集作为源?
dbt - yml 文件的 DBT 问题:profiles.yml 中的配置文件 my-bigquery-db 为空
我正在做这里找到的 DBT hello world 教程,并且我在 Windows 机器上创建了我的第一个项目。我的profiles.yml
文件如下所示:
当我执行时,dbt run
我得到:
使用 dbt=0.17.2 运行时读取配置文件时遇到错误:ERROR 运行时错误
dbt 在尝试读取您的profiles.yml 文件时遇到错误。
profile.yml 中的配置文件 my-bigquery-db 为空
定义的配置文件:
- 我的大查询数据库
- 目标
- 输出
- 开发者
- 类型
- 方法
- 项目
- 数据集
- 线程
- 密钥文件
- timeout_seconds
任何想法?
continuous-integration - 有没有办法覆盖 dbt Cloud CI 运行的模式名称?
我们使用 dbt cloud 来运行我们的 dbt 项目。在 CI 运行时,dbt Cloud 使用与 PR 编号相关的模式名称,例如dbt_cloud_pr_5205_543
.
有没有办法覆盖这种行为?
更新:我们已经更新了我们的宏,如下所示。
dbt - 如何使用日志错误 FileNotFound 运行 dbt 以触发不为 0 的退出代码?
我们正在运行dbt
版本 0.16.1。我们已经将数据管道设置为在 Airflow 中运行,并设置了一个库来映射每个dbt
模型在 Airflow 上它自己的 bash 运算符中运行。
执行的dbt
运行命令如下:
有时(可能同时运行两个模型时),Airflow 会在dbt run
命令中显示以下消息:
信息 - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'logs/dbt.log' -> 'logs/dbt.log.1'
这是有问题的,因为日志文件没有得到更新,但任务的退出代码被列为 0:
命令以返回码 0 退出
这会导致 Airflow 将任务标记为成功;但是,日志没有成功打印。
我的问题:
- 有没有办法将这些错误作为实际错误提出?
- 如果做不到这一点,有没有办法指定一个唯一的日志文件?
我不确定这是否是我理解的差距,dbt
是日志记录中的错误,还是两者兼而有之?
dbt - 尝试安装 fishtown-analytics/codegen 时无法从选项中找到 statisfactory 版本
我正在将我的 dbt 版本从 0.16.0 升级到 0.17.2,并尝试更新我们的 codegen 包。
我的包 YML 看起来像这样:
我收到的错误是这样的:
有任何想法吗?