![](/img/trans.png)
[英]The airflow scheduler stops working after updating pypi packages on google cloud composer 2.0.1
[英]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 依賴性問題。 當我嘗試修復一個依賴項時,會出現另一個問題。 有誰知道安裝的特定軟件包集可以解決此問題? 我已閱讀社區的以下帖子,但我想知道是否有人有僅使用作曲家的解決方案?
我能夠重現您所看到的行為。 以下是我在 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 的回答中給出的解決方法。
- 使用外部服務運行 dbt 作業,例如 Cloud Run。
- 使用 Composer 的Kube.netesPodOperator (更新的 Composer 2 鏈接)。 我的同事在這里發表了一篇關於 dbt discourse 的文章,介紹了設置過程。
- 通過將 Composer 的環境變量 IGNORE_PYPI_DEPENDENCY_CONFLICTS 設置為 True 來忽略 Composer 的依賴沖突。 但是,我不推薦這樣做,因為它可能會導致潛在的問題。
- 在 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
對於這個特定的作曲家版本,您將jsonschema
從3.2.0
降級到3.1.1
,並將packaging
從21.3
降級到20.9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.