首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbt和依赖问题

dbt和依赖问题
EN

Stack Overflow用户
提问于 2022-04-17 04:57:46
回答 2查看 535关注 0票数 3

我目前运行Google的作曲家版本2.0.9和气流版本2.1.4。我正在尝试安装dbt的最新版本(核心是1.0.4,BigQuery插件是1.0.0 )。因为云组合映像已经安装了特定的包,所以我遇到了相互冲突的PyPI依赖问题。当我试图修复一个依赖项时,会出现另一个问题。有人知道安装了哪些特定的软件包来解决这个问题吗?我已经阅读了社区的以下文章,但我想知道是否有人有使用作曲家的解决方案?

如何在不复制回购的情况下在气流中运行DBT

如何使用设置dbt?

EN

回答 2

Stack Overflow用户

发布于 2022-04-20 11:55:56

我能复制你所看到的行为。下面是我在云构建日志中看到的依赖冲突。这些冲突发生在dbt-core需求和Composer中预先安装的软件包需求之间。

预装软件包要求

代码语言:javascript
复制
hologram 0.0.14 has requirement jsonschema<3.2,>=3.0, but you have jsonschema 3.2.0. ##=> can be installed manually
flask 1.1.4 has requirement click<8.0,>=5.1, but you have click 8.1.2.
apache-airflow 2.1.4+composer has requirement markupsafe<2.0,>=1.1.1, but you have markupsafe 2.0.1.
looker-sdk 22.4.0 has requirement typing-extensions>=4.1.1, but you have typing-extensions 3.10.0.2.

dbt-核心需求

代码语言:javascript
复制
hologram 0.0.14 has requirement jsonschema<3.2,>=3.0, but you have jsonschema 3.2.0. ##=> can be installed manually
dbt-core 1.0.4 has requirement click<9,>=8, but you have click 7.1.2.
dbt-core 1.0.4 has requirement MarkupSafe==2.0.1, but you have markupsafe 1.1.1.
dbt-core 1.0.4 has requirement typing-extensions<3.11,>=3.7.4, but you have typing-extensions 4.1.1.

我试着降低预装包的级别,但是后续的包安装失败了,这也是不建议

因此,我建议使用您所链接的这条线中所述的外部解决方案。引用了“元瑞恩在这里的回答”中提出的解决办法。

  1. 使用外部服务运行dbt作业,例如云运行。
  2. 使用Composer的KubernetesPodOperator(更新的Composer 2链接)。我的同事在这里安装了一篇关于dbt语篇的好文章,完成了设置过程。
  3. 通过将Composer的环境变量IGNORE_PYPI_DEPENDENCY_CONFLICTS设置为True来忽略Composer的依赖冲突。然而,我不建议这样做,因为这可能会导致潜在的问题。
  4. 在Composer中创建Python虚拟环境并安装dbt包。
票数 2
EN

Stack Overflow用户

发布于 2022-04-20 19:40:10

正如@Kabilan所提到的,dbt的当前版本(1.0.4)和最近版本的Composer存在依赖问题(Composer版本2.0.9和气流版本2.1.4)。因此,需要另一种解决办法。在我的例子中,我四处游玩,并从社区中的其他人那里寻找解决方案,发现有一个人使用的是某个版本的Composer和dbt,它们只存在模拟依赖问题。然而,正如@Kabilan所提到的,Google并不建议降低预装软件包的等级,因此这对生产中的某些产品来说并不是一个可行的解决方案。

通过gcloud创建composer,以使用通过Composer UI不可用的旧版本

代码语言:javascript
复制
gcloud composer environments create my_airflow_dbt_example
--location us-central1
--image-version composer-1.17.9-airflow-2.1.4

要求

代码语言:javascript
复制
dbt-bigquery==0.21.0
jsonschema==3.1.1
packaging==20.9

对于这个特定的编写器版本,您要将jsonschema3.2.0降为3.1.1,将packaging21.3降为20.9

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71899387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档