作為 Azure Databricks 創新承諾的一部分,平臺和運行時間功能可能會淘汰並取代為新功能。 Databricks Runtime 版本也會定期淘汰並被取代。 本頁列出了退休階段,以及對應平台功能和 Databricks 執行時版本的支援細節。 它也包含 SQL 查詢,用來偵測使用舊版 Databricks 執行環境的叢集與工作。
如需預覽和發行類型的相關資訊,請參閱 Azure Databricks 預覽版本。
平台功能生命週期
下表說明了 Azure Databricks 平台功能的淘汰階段:
| 階段 | 描述 | 支援 | 移轉注意事項 |
|---|---|---|---|
| 傳統 | 此功能仍可供使用,但有較新的、更好的功能或方法來完成這項功能提供的工作。 此標籤表示未來的淘汰日期。 | 完整。 有支援和文件供使用。 | 建議移轉至新的取代功能或完成工作的新方式,但並非立即需要。 |
| 已廢棄 | 此功能已不再積極開發。 不再發佈更新。 此功能即將淘汰,因此您必須制定計劃,以停止使用此功能並轉換至替代方案。 | 完整。 功能已不再更新,但仍提供支援和文件。 | 強烈建議移轉至新的取代功能或完成工作的新方式,因為不會再套用重要的更新。 |
| 終止支援 (EOS) | 此功能已不再在積極開發中,且正式不再提供支援。 | 無。 文件可能仍然存在,但已封存,且不再維護。 | 移轉至新的取代功能或完成工作的新方式十分緊迫,因為不會再套用重要的更新,也不再為可能發生的問題提供支援。 |
| 生命週期結束 (EOL) | 此功能已從 Databricks 產品完全移除。 | 無 | 移轉至新的取代功能或完成工作的新方式是必不可少,因為此功能已無法使用。 此時,移轉可能非常困難。 |
Databricks Runtime 支援生命週期
下表描述 Databricks Runtime 版本的支援和支援原則階段。 Azure Databricks 發行執行時期為搶鮮版 (Beta) 和正式發佈版本 (GA)。 除非執行階段版本是長期支援 (LTS) 版本,否則 Azure Databricks 支援一般可用版本 6 個月。 如需關於支援的 Databricks Runtime 版本的資訊,請參閱 Databricks Runtime 版本資訊與相容性。
不支援的 Databricks Runtime 版本的工作負載可能會繼續執行,但 Azure Databricks 不提供支援或修正。
Databricks Runtime LTS 版本生命週期
| 階段 | 描述 |
|---|---|
| 試用版 | 不適用支援 SLA。 如需詳細資訊,請參閱 Databricks Runtime 版本。 |
| 正式發佈版,完全支援 LTS 版本 | 主要穩定性和安全性修正程式會回溯移植。 Databricks 每隔 6 個月發行一次 LTS 版本,並提供 3 年的支援。 支援的 LTS 版本會在支援的 Databricks Runtime LTS 版本發佈。 |
| 終止支援 (EOS) | 如果某個版本不受支援:
終止支援日期是發行後的三年。 不支援的版本會在終止支援 Databricks Runtime 版本資訊發佈。 |
| 生命週期結束 (EOL) | 一旦版本達到生命週期結束,它就會從 Azure Databricks 環境中移除,而且無法使用。 您無法啟動新的工作負載,而且在這些版本上執行的現有工作負載會失敗。 您必須將工作負載移轉至支援的執行階段版本。 Azure Databricks 會盡最大努力確保生命週期結束日期是在支援終止日期之後的六個月。 不過,Databricks 保留在支援結束後隨時完全移除發行版本的權利,恕不另行通知。 |
Databricks Runtime 非 LTS 版本生命週期。
| 階段 | 描述 |
|---|---|
| 試用版 | 不適用支援 SLA。 如需詳細資訊,請參閱 Databricks Runtime 版本。 |
| 正式發行版,完全支援 | 主要穩定性和安全性修正程式會回溯移植。 Databricks Runtime 版本的完整支援持續 6 個月,但長期支援 (LTS) 版本除外。 支援的版本及其終止支援日期會在所有支援的 Databricks Runtime 版本上發佈。 |
| 終止支援 (EOS) | 如果某個版本不受支援:
不支援的版本會在終止支援 Databricks Runtime 版本資訊發佈。 |
| 生命週期結束 (EOL) | Azure Databricks 保留在支援結束之後隨時將發行版本完整移除的權利,而不需事先通知。 |
偵測哪些叢集使用舊版 Databricks 執行時版本
此暫存檢視總結了執行 Databricks Runtime 10.4 或更早版本的叢集使用情況。 它彙整過去 90 天的使用情況,包含工作區資訊、叢集識別碼、Databricks 執行時版本、使用單元,以及 Databricks 單元(DBU)中的總使用量。
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 執行時版本
使用此查詢以檢索過去 90 天內曾執行且最近一次執行使用 Databricks Runtime 版本早於 10.4 的所有作業。 這有助於辨識需要升級的工作負載。
%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]\\.)'