預先設定的 Conda 套件通道將從 Managed Service for Apache Spark 叢集映像檔和無伺服器執行階段中移除。本文說明如何遷移及設定工作負載的 Conda 管道。
移除預先設定的 Conda 管道
先前,Managed Service for Apache Spark 映像檔會預先設定 Conda 管道 (例如 Anaconda 的 defaults 存放區),並將其與映像檔組合。由於授權異動,Managed Service for Apache Spark 將從所有過去和未來的 Managed Service for Apache Spark 映像檔和無伺服器執行階段中,移除所有預先設定的管道指標。
- 變更內容:如果執行的指令
conda install PACKAGE沒有明確提供的管道,系統就不會再根據預設存放區解析套件,且會失敗。 - 不受影響的項目:從 PyPI (
pip install PACKAGE或dataproc:pip.packages叢集屬性) 安裝的標準 Python 套件完全不受影響。
提供無側邊圖像的管道
為協助開發人員適應這項更新,Managed Service for Apache Spark 已發布不含發布管道的次要版本,如下表所示。這些映像檔與現有映像檔的二進位檔和元件完全相容,差別只在於移除了預先設定的 Conda 管道。
| 圖片軌 | 舊版或受影響的版本 | 發布不含 Conda 的橫向版本 | 狀態和相容性 |
|---|---|---|---|
| 1.3 | <= 1.3.95 |
1.3.96 |
與 1.3.95 100% 相容;已移除 Conda 管道 |
| 1.4 | <= 1.4.80 |
1.4.81 |
100% 相容於 1.4.80;已移除 Conda 管道 |
| 1.5 | <= 1.5.90 |
1.5.92 |
100% 相容於 1.5.90;已移除 Conda 管道 |
| 2.0 | <= 2.0.160 |
2.0.161 |
100% 相容於 2.0.160;已移除 Conda 管道 |
| 2.1 | <= 2.1.116 |
2.1.117和 2.1.119 以上版本 |
支援的發布版本;已移除 Conda 管道 |
| 2.2 | <= 2.2.84 |
2.2.85 和 2.2.87 以上版本 |
支援的發布版本;已移除 Conda 管道 |
| 2.3 | <= 2.3.31 |
2.3.32 和 2.3.36 以上版本 |
支援的版本;已移除 Conda 管道 |
移除作業對工作負載的影響
- 未釘選的叢集:任何指定映像檔版本別名 (例如
--image-version=2.2-debian12) 的叢集建立指令碼,都會自動接收新的無管道映像檔。 - 已釘選或自訂的映像檔:釘選至先前次要版本的叢集,或使用自訂映像檔的叢集,除非更新,否則會繼續參照舊版管道設定。如果使用釘選圖片,請務必申請延長期限,爭取更多時間遷移至支援的無頻道版本。
- 執行失敗:任何初始化動作、管道指令碼或提交
conda install PACKAGE但未指定管道的工作,都會因管道解析錯誤而失敗。
如何設定 Conda 管道
如果工作負載需要 Conda 才能安裝二進位套件,您必須使用下列其中一種選項,明確宣告管道。如要改為在 Conda 相關叢集屬性中指定管道,請參閱「使用 conda 相關叢集屬性」。
方法 1:明確的指令列旗標
建議在臨時安裝時使用這個選項。執行 conda install 時傳遞 --channel 旗標:
conda install --channel conda-forge PACKAGE
或是使用簡短的 -c 旗標:
conda install -c conda-forge PACKAGE
將 PACKAGE 替換為要安裝的套件名稱。
方法 2:叢集初始化動作
建議在自動化環境中使用這個選項。新增自訂初始化動作,預先設定要在 .condarc 設定檔中使用的管道:
#!/bin/bash # Preconfigure the community conda-forge channel or a private enterprise repository. conda config --add channels conda-forge conda config --set channel_priority strict
從舊版映像檔 (1.x 和 2.0) 遷移
Managed Service for Apache Spark 1.3、1.4、1.5 和 2.0 版已長期不受支援。執行舊版映像檔會帶來重大作業和安全風險,包括基礎作業系統和開放原始碼軟體 (OSS) 依附元件中已知的常見安全漏洞與資料外洩風險 (CVE)。
- Google Cloud 將永久停用 1.x 和 2.0 版本的映像檔建立功能。
- GoogleCloudDataproc/initialization-actions GitHub 存放區中,所有僅支援這些已淘汰映像檔 (1.x 和 2.0) 的初始化動作也會一併移除。
- 所有工作負載都必須在 2026 年 10 月 15 日前,遷移至不含 Conda 管道的橫向映像檔。
- 所有工作負載最終都必須遷移至支援的有效版本 (2.1、2.2、2.3 或 3.0 以上版本)。
詳情請參閱「Unsupported Managed Service for Apache Spark image versions」(不支援的 Managed Service for Apache Spark 映像檔版本)。
可用的擴充功能
Managed Service for Apache Spark 提供兩種擴充路徑,您可透過選擇加入許可清單來擴充,但須經服務團隊核准。
擴充功能類型
可用的擴充功能類型如下:
暫時性的 Conda 解決方法擴充功能
- 效期:最晚至 2026 年 10 月 31 日。
- 目的:為客戶提供即時作業緩衝區。2026 年 8 月 25 日和 9 月 1 日,系統將切換預設映像檔別名,屆時客戶的自動部署或初始化動作可能會中斷。
- 優點:修改指令碼以加入
--channel或轉換為無管道的圖片時,專案可暫時保留先前的行為。
舊版圖片額外資訊淘汰
- 效期:2026 年 12 月 31 日。
- 用途:適用於在 1.x 或 2.0 上執行的重要業務工作負載,這些工作負載無法立即重構程式碼,以適用於 Spark 3.x 以上版本或更新的 OS 環境。
- 優點:您可以在 2026 年底前繼續在舊版軌上建立叢集,避免立即停止生產。
- 必要條件:只有當目前的 1.x 和 2.0 工作負載使用符合 Conda 規範的橫向映像檔時,您才能取得這項擴充功能。
擴充功能規定
擴充功能須遵守法規和基礎架構限制。 如要獲得核准,必須符合下列所有條件:
- 僅限現有專案:擴充功能僅適用於在 2026 年 8 月前,曾執行這些版本且有活動記錄的專案 ID。 Google Cloud新專案不會加入許可清單。
- 2026 年 10 月 31 日前必須完成橫向圖片更換:如果您獲得 1.x 或 2.0 延期,最晚須在 2026 年 10 月 31 日前,將叢集建立設定遷移至符合橫向 Conda 規範的次要版本 (
1.3.96、1.4.81、1.5.92和2.0.161)。 - 沒有
global區域用量:如果是 1.5 版和更早的映像檔版本,叢集不得部署至舊版global區域。工作負載必須使用特定區域端點 (例如us-central1或europe-west1)。 - 已規劃的遷移路線圖:您必須有有效的現代化計畫,才能在 2026 年 12 月 31 日前,將工作負載遷移至符合 Conda 規範的支援版本 (2.2 以上版本或 3.0)。
如何申請延期
如要申請加入擴充功能許可清單,請透過下列任一管道提出申請:
- 電子郵件:直接將要求傳送至 dataproc-msa-support@google.com。
- 客服案件:向 Cloud Customer Care 提交案件,並註明「Dataproc Conda Deprecation MSA」。
- 帳戶團隊:請與專屬的 Google Cloud 客戶技術顧問 (TAM) 或客戶工程師 (CE) 聯絡。
請在要求中提供下列資訊:
- Google Cloud 機構名稱
- 目標 Google Cloud 專案 ID 和專案編號
- 受影響的叢集名稱或 UUID
- 目前使用的映像檔版本
- 申請延期的原因和預計完成遷移的日期
符合規定的 Conda 管道檢查清單
請依序完成下列優先事項。
第 1 優先:探索及清點工作負載
找出已淘汰的映像檔:稽核貴機構的專案,找出任何在 1.3、1.4、1.5 或 2.0 版本上執行的叢集。
下列指令會列出區域中有效叢集的映像檔版本:
gcloud dataproc clusters list --region=REGION \ --format="table(clusterName, status.state, config.softwareConfig.imageVersion)"將 REGION 替換為叢集所在的區域。
稽核 Conda 使用情形:檢查初始化動作 (
--initialization-actions)、開機指令碼和工作提交指令碼,找出conda install的任何叫用。
第 2 優先:立即進行失敗分類
如果發生服務中斷情形,請按照下列步驟操作:
如果自動化管道因缺少 Conda 套件而失敗,請立即新增
--channel conda-forge(或-c conda-forge),修補初始化動作或指令碼:conda install -c conda-forge PACKAGE
如果叢集建立失敗,是因為映像檔已遭淘汰,請立即透過 dataproc-msa-support@google.com 或與客戶技術顧問聯絡,要求暫時加入允許清單。
優先順序 3:執行側向次要子版本交換
這個步驟不需要變更任何程式碼。
如果管道無法立即升級至 2.2 以上的映像檔版本,請更新叢集建立範本 (例如 Terraform、Apache Airflow
DataprocCreateClusterOperator、Managed Service for Apache Airflow 和 CI/CD 指令碼),使用不含管道的側向版本:- 將
1.3.*替換為1.3.96。 - 將
1.4.*替換為1.4.81。 - 將
1.5.*替換為1.5.92。 - 將
2.0.*替換為2.0.161。
- 將
運作原理:這些映像檔包含與先前次要版本相同的 Apache Spark、Apache Hadoop、Apache Hive 和 Java 版本。保證 100% 應用程式相容性,不需變更任何程式碼。
第 4 優先:重新建立長期執行的叢集
如果您在較舊的映像檔上部署了長期執行的靜態叢集,請安排維護期間,使用最新的側向副次要版本 (或符合 Conda 規範的支援 2.x 或 3.x 版本) 重新建立叢集。重新建立叢集可確保叢集套用所有重大安全性和設定更新。
優先順序 5:規劃全面升級至支援的版本
這項優先事項的目標完成時間為 2026 年第 4 季。
- 在映像檔版本 2.2 (Debian 12、Spark 3.5) 或正式發布 (GA) 的映像檔版本 3.0 建立測試環境。
- 根據 Spark 3.x API 規格驗證 PySpark、Scala 和 Java 工作。
- 如需專屬的現代化支援服務,請使用 Professional Services Organization (PSO) 或經認證的遷移合作夥伴,例如 Wipro 和 HCL。 Google Cloud
常見問題
以下各節將回答有關移除 Conda 管道的常見問題。
一般和背景
以下問題將說明這些異動的原因,以及異動之間的差異。
為什麼 Managed Service for Apache Spark 要移除預先設定的 Conda 管道?
由於授權規定異動,Managed Service for Apache Spark 將服務與專屬 Anaconda 管道分離,並改用標準開放原始碼封裝機制。
移除 Conda 管道和淘汰映像檔有何不同?
- 移除 Conda 管道會影響所有 Managed Service for Apache Spark 版本,包括目前支援的 2.1、2.2 和 2.3 版,以及無伺服器執行階段。這會移除 Anaconda 存放區的預設指標。
- 映像檔淘汰特別會影響舊版 1.x 和 2.0 映像檔。這些映像檔已停用,不再接收安全性修補程式,且會遭到封鎖,無法用於建立叢集。
技術和相容性問題
以下問題涵蓋異動對 Python 套件安裝、Conda 使用和映像檔相容性的影響。
這項異動是否會影響 pip install 或 dataproc:pip.packages?
否。使用 pip 或 Managed Service for Apache Spark 叢集屬性 dataproc:pip.packages 安裝標準 Python 套件時,會直接從 Python Package Index (PyPI) 提取。PyPI 與 Conda 完全獨立,不會受到任何影響。
貴機構可以繼續使用 Anaconda 或 Conda 套件嗎?
可以,您可以繼續使用 Conda 管理環境。不過,您必須明確提供存放區管道。您可以指向社群支援的 conda-forge 管道 (新增 -c conda-forge),或使用初始化動作指向貴組織的私人授權 Anaconda 存放區鏡像。
如果未更新指令碼,會發生什麼確切錯誤?
在無管道映像檔上執行 conda install PACKAGE 時,Conda 會傳回錯誤,指出未設定任何管道,或在預設搜尋路徑中找不到要求的套件。例如:PackagesNotFoundError: The following packages are not available from
current channels。
什麼是側向次要圖片?為什麼要使用這類圖片?
側向次要映像檔 (例如 1.5 軌的 1.5.92 或 2.0 軌的 2.0.161) 是指映像檔發布版本,其中核心大數據生態系統元件 (Hadoop、Spark、Hive、Presto 和 Java 執行階段) 與該軌的先前版本相同,但已移除基礎 Conda 管道。升級至同層次次要版本時,Spark 工作完全不需要變更程式碼。
部署作業和生態系統
下列問題涵蓋這些變更對無伺服器工作負載、Google Kubernetes Engine (GKE) 部署作業和代管式自動化調度管理服務的影響。
這對 Managed Service for Apache Spark 無伺服器有何影響?
2026 年 8 月 25 日起,新提交的無伺服器批次工作負載會以不含預先設定 Conda 通道的基礎執行階段映像檔執行。如果您使用自訂容器映像檔或 Conda 環境 tarball 封裝依附元件,請確保建構定義指定 --channel conda-forge 或您的私人管道。
這項異動對 Google Kubernetes Engine 上的 Managed Service for Apache Spark 有何影響?
我們已更新 GKE 上的 Managed Service for Apache Spark 映像檔,移除預先設定的 Conda 管道 (例如執行階段映像檔 3.5-dataproc-28 和後續版本)。執行 conda install 的自訂容器 Dockerfile 必須更新,才能傳遞明確的 --channel。
Managed Service for Apache Airflow 或 Cloud Data Fusion 等代管式自動調度管理工具是否會受到影響?
由 Managed Airflow 或 Cloud Data Fusion 管理的預設標準管道,會叫用內建的 Managed Service for Apache Spark 叢集建立工作,因此不受影響,除非您的工作流程依賴自訂初始化動作,而這些動作會執行未標記的 conda install 指令,或固定使用已淘汰的 1.x 或 2.0 映像檔。
支援與協助
以下問題說明如何取得遷移作業的相關協助。
如何取得遷移作業的技術支援?
- 如需技術疑難排解和許可清單要求,請傳送電子郵件至 dataproc-msa-support@google.com,或向 Cloud Customer Care 提交案件。
- 如需企業遷移協助, Google Cloud PSO 提供結構化現代化套件,而經認證的系統整合 (SI) 合作夥伴 (包括 Wipro 和 HCL) 則提供專屬遷移服務,可申請合作夥伴服務補助款 (PSF)。