簡體   English   中英

dbt 和 google cloud composer PyPI 依賴問題

[英]dbt and google cloud composer PyPI dependency issues

我目前正在使用 Composer 版本2.0.9和 airflow 版本2.1.4運行 Google Cloud Composer。 我正在嘗試安裝最新版本的 dbt(核心版本為1.0.4 ,BigQuery 插件版本為1.0.0 )。 因為雲堆肥圖像安裝了特定的包,我遇到了相互沖突的 PyPI 依賴性問題。 當我嘗試修復一個依賴項時,會出現另一個問題。 有誰知道安裝的特定軟件包集可以解決此問題? 我已閱讀社區的以下帖子,但我想知道是否有人有僅使用作曲家的解決方案?

如何在不復制我們的 repo 的情況下在 airflow 中運行 DBT

如何使用 Google Cloud Composer 設置 dbt?

我能夠重現您所看到的行為。 以下是我在 Cloud Build 日志中看到的依賴沖突。 這些沖突發生在dbt-core要求和 Composer 中預安裝的 package 要求之間。

預裝 package 要求

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 核心要求

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.

我嘗試降級預裝包,但后續 package 安裝失敗, 也不推薦

因此,我建議使用您已鏈接的此線程中所述的外部解決方案。 在這里引用@Ryan Yuan 的回答中給出的解決方法。

  1. 使用外部服務運行 dbt 作業,例如 Cloud Run。
  2. 使用 Composer 的Kube.netesPodOperator (更新的 Composer 2 鏈接)。 我的同事在這里發表了一篇關於 dbt discourse 的文章,介紹了設置過程。
  3. 通過將 Composer 的環境變量 IGNORE_PYPI_DEPENDENCY_CONFLICTS 設置為 True 來忽略 Composer 的依賴沖突。 但是,我不推薦這樣做,因為它可能會導致潛在的問題。
  4. 在 Composer 中創建 Python 虛擬環境並安裝 dbt 包。

正如@Kabilan Mohanraj 所提到的,當前版本的 dbt (1.0.4) 和更新版本的 Composer 存在依賴性問題(Composer 版本 2.0.9 和 Airflow 版本 2.1.4)。 因此需要替代解決方案。 就我而言,我四處尋找並從社區中的其他人那里尋找解決方案,發現一個人使用特定版本的 Composer 和 dbt,但只有最小的依賴性問題。 然而,正如@Kabilan Mohanraj 所提到的,谷歌不建議降級預安裝的軟件包,因此這對於生產中的某些東西來說不是一個可行的解決方案。

通過 gcloud 創建 composer 以使用無法通過 Composer UI 獲得的舊版本

gcloud composer environments create my_airflow_dbt_example
--location us-central1
--image-version composer-1.17.9-airflow-2.1.4

要求

dbt-bigquery==0.21.0
jsonschema==3.1.1
packaging==20.9

對於這個特定的作曲家版本,您將jsonschema3.2.0降級到3.1.1 ,並將packaging21.3降級到20.9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM