作為 Azure Databricks 對創新承諾的一部分,平台與執行環境功能可能會被淘汰,並由新功能取代。 Databricks Runtime 版本也會定期淘汰並被取代。 本頁列出了退休階段,以及對應平台功能和 Databricks 執行時版本的支援細節。 它也包含 SQL 查詢,用來偵測使用舊版 Databricks 執行環境的叢集與工作。
有關預覽與發行類型的資訊,請參閱 Azure Databricks預覽發佈 。
平台功能生命週期
Azure Databricks 平台的功能退役階段詳述如下表格:
| 階段 | 描述 | 支援 | 移轉注意事項 |
|---|---|---|---|
| 傳統 | 此功能仍可供使用,但有較新的、更好的功能或方法來完成這項功能提供的工作。 此標籤表示未來的淘汰日期。 | 完整。 有支援和文件供使用。 | 建議移轉至新的取代功能或完成工作的新方式,但並非立即需要。 |
| 已廢棄 | 此功能已不再積極開發。 不再發佈更新。 此功能即將淘汰,因此您必須制定計劃,以停止使用此功能並轉換至替代方案。 | 完整。 功能已不再更新,但仍提供支援和文件。 | 強烈建議移轉至新的取代功能或完成工作的新方式,因為不會再套用重要的更新。 |
| 終止支援 (EOS) | 此功能已不再在積極開發中,且正式不再提供支援。 | 無。 文件可能仍然存在,但已封存,且不再維護。 | 移轉至新的取代功能或完成工作的新方式十分緊迫,因為不會再套用重要的更新,也不再為可能發生的問題提供支援。 |
| 生命週期結束 (EOL) | 此功能已從 Databricks 產品完全移除。 | 無 | 移轉至新的取代功能或完成工作的新方式是必不可少,因為此功能已無法使用。 此時,移轉可能非常困難。 |
Databricks 執行環境支援生命週期
每個 Databricks 執行時版本都有初步測試版以供早期評估,之後以一般可用性(GA)形式正式上線。 在 GA 功能開發階段(約六個月),Azure Databricks 會以相同版本號釋出新功能與修正。 叢集在重新啟動時會收到更新。 功能開發階段結束後,版本將轉為三年的長期支援(LTS)。 有關支援版本,請參閱 Databricks 執行環境版本說明及相容性。
未受支援的 Databricks 執行環境版本的工作負載可能仍會繼續運行,但 Azure Databricks 不提供支援或修正。
Note
在 Databricks Runtime 19 之前,Azure Databricks 將執行時版本作為次要功能版本釋出(例如 18.0、18.1、18.2),每個版本都有自己的 Beta 和 GA 版本。
| 階段 | 描述 |
|---|---|
| 試用版 | 在通用發射前可進行早期評估。 不建議用於生產用途。 不提供支援服務等級協議(SLA)。 |
| GA(功能開發) | 提供重大的穩定性與安全性修正。 Azure Databricks 會在約六個月的功能開發階段,以相同的版本號釋出新功能與修正。 支援的版本會以 支援的 Databricks 執行時版本發佈。 |
| LTS | 功能開發階段結束後,版本會轉為長期支援(LTS)。 主要的穩定性與安全修正會被回溯三年。 支援的 LTS 版本會以 支援的 Databricks 執行版本發佈。 |
| 終止支援 (EOS) | 如果某個版本不受支援:
支援終止日期是在 GA 發布日期後三年。 不支援的版本會在終止支援 Databricks Runtime 版本資訊發佈。 |
| 生命週期結束 (EOL) | 一旦某個版本達到生命週期終止,就會從 Azure Databricks 環境中移除,變得無法使用。 您無法啟動新的工作負載,而且在這些版本上執行的現有工作負載會失敗。 您必須將工作負載移轉至支援的執行階段版本。 Azure Databricks 盡力將終止服務日期設定在支援終止日期後六個月。 不過,Databricks 保留在支援結束後隨時完全移除發行版本的權利,恕不另行通知。 |
偵測舊版 Databricks Runtime 叢集
此暫存檢視總結了執行 Databricks Runtime 10.4 或更早版本的叢集使用情況。 它彙整過去 90 天的使用情況,包含工作區資訊、叢集識別碼、Databricks 執行時版本、使用單元,以及 Databricks 單元(DBU)中的總使用量。
建立legacy_dbrs視圖
CREATE OR REPLACE TEMP VIEW legacy_dbrs AS
WITH clusters_dbr_versions AS (
SELECT
account_id,
workspace_id,
cluster_id,
cluster_name,
owned_by,
dbr_version,
TRY_CAST(regexp_extract(dbr_version, '(\\d+)\\.(\\w+)?(?:\\.(\\w+))?', 1) AS INT) AS major_version,
TRY_CAST(regexp_extract(dbr_version, '(\\d+)\\.(\\w+)?(?:\\.(\\w+))?', 2) AS INT) AS minor_version,
ROW_NUMBER() OVER(PARTITION BY account_id, workspace_id, cluster_id ORDER BY change_time DESC) AS rnk
FROM
system.compute.clusters
QUALIFY rnk=1
),
usage AS (
SELECT
account_id,
workspace_id,
usage_metadata.cluster_id AS cluster_id,
usage_unit,
ROUND(SUM(usage_quantity), 2) AS total_usage_dbu,
MAX(usage_date) as last_seen_date
FROM
system.billing.usage
WHERE
usage_metadata.cluster_id IS NOT NULL AND
usage_date > CURRENT_DATE() - INTERVAL 90 DAYS
GROUP BY ALL
),
workspace_info AS (
SELECT
account_id,
workspace_id,
workspace_name,
workspace_url
FROM
system.access.workspaces_latest
)
SELECT
cdv.workspace_id,
wi.workspace_name,
wi.workspace_url,
cdv.cluster_name,
cdv.cluster_id,
cdv.owned_by,
cdv.dbr_version,
total_usage_dbu,
usage_unit,
last_seen_date
FROM
clusters_dbr_versions cdv
INNER JOIN usage u USING (workspace_id, cluster_id)
LEFT JOIN workspace_info wi USING (workspace_id)
WHERE
major_version < 10 OR (major_version = 10 AND minor_version < 4)
GROUP BY ALL
ORDER BY
workspace_id, total_usage_dbu DESC;
要查看每個叢集的舊版 Databricks 執行時使用情況,請查詢剛建立的檢視。
SELECT * FROM legacy_dbrs;
要查看跨工作區及 Databricks 執行時版本的聚合叢集使用情況,請使用以下查詢。 這有助於辨識仍在使用的 Databricks 執行時版本、每個版本執行的叢集數量,以及 DBU 中的總使用量。
SELECT
dbr_version,
workspace_id,
COUNT(DISTINCT cluster_id) total_clusters,
SUM(total_usage_dbu) AS total_usage_dbu
FROM legacy_dbrs
GROUP BY dbr_version, workspace_id
ORDER BY dbr_version, workspace_id
偵測舊版 Databricks Runtime 作業
使用此查詢以檢索過去 90 天內曾執行且最近一次執行使用 Databricks Runtime 版本早於 10.4 的所有作業。 這有助於辨識需要升級的工作負載。
使用舊版 DBR 執行查詢工作
%sql
with latest_jobs AS (
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, job_id ORDER BY change_time DESC) as rn
FROM system.lakeflow.jobs
QUALIFY rn=1
),
latest_clusters AS (
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY workspace_id, cluster_id ORDER BY change_time DESC) as rn
FROM system.compute.clusters
QUALIFY rn=1
),
job_tasks_exploded AS (
SELECT
workspace_id,
job_id,
EXPLODE(compute_ids) as cluster_id
FROM system.lakeflow.job_task_run_timeline
WHERE period_start_time >= CURRENT_DATE() - INTERVAL 90 DAY AND ARRAY_SIZE(compute_ids) > 0
GROUP BY ALL
),
workspace_info AS (
SELECT
account_id,
workspace_id,
workspace_name,
workspace_url
FROM
system.access.workspaces_latest
),
clusters_with_dbr AS (
SELECT
t1.*,
t2.cluster_name,
t2.owned_by,
t2.dbr_version
FROM job_tasks_exploded t1
INNER JOIN latest_clusters t2 USING (workspace_id, cluster_id)
)
SELECT
wi.account_id,
wi.workspace_id,
wi.workspace_name,
wi.workspace_url,
latest_jobs.name,
cwd.job_id,
cwd.cluster_id,
cwd.cluster_name,
cwd.dbr_version
FROM clusters_with_dbr cwd
JOIN workspace_info wi ON cwd.workspace_id = wi.workspace_id
LEFT JOIN latest_jobs USING (workspace_id, job_id)
WHERE dbr_version RLIKE '^([1-9]\\.|10\\.[0-3]\\.)'