作为 Azure Databricks 创新承诺的一部分,平台和运行时功能可能会停用,并替换为新功能。 Databricks Runtime 版本也会按常规计划进行停用和替换。 此页面列出了停用阶段,以及有关平台功能和 Databricks Runtime 版本的相应支持的详细信息。 它还包括用于检测使用遗留 Databricks Runtime 版本的群集和作业的 SQL 查询。
有关预览版及发布类型的信息,请参阅 Azure Databricks 预览版。
平台功能生命周期
下表介绍了 Azure Databricks 平台功能停用阶段:
| 阶段 | 说明 | 支持 | 迁移说明 |
|---|---|---|---|
| 旧的 | 该功能仍然可用,但有更新、更好的功能或方法来完成此功能提供的任务。 此标签指示将在未来某个日期停用。 | 已满。 支持和文档可用。 | 建议迁移到新的替代功能或完成任务的新方法,但不需要立即迁移。 |
| 已放弃 | 该功能不再处于积极开发状态。 将不再发布更新。 该功能即将停用,因此你需要制定一个计划来停止使用该功能并过渡到替代功能。 | 已满。 该功能不再更新,但支持和文档仍可用。 | 强烈建议迁移到新的替换功能或完成任务的新方法,因为重要的更新将不再适用。 |
| 支持结束 (EOS) | 该功能不再处于积极开发阶段,并且不再提供正式支持。 | 无。 文档可能仍然存在,但已存档,不再进行维护。 | 急需迁移到新的替换功能或完成任务的新方法,因为重要更新不再适用,并且不再提供对可能出现的问题的支持。 |
| 生命周期结束 (EoL) | 此功能已从 Databricks 产品中完全移除。 | 无 | 必须迁移到新的替换功能或完成任务的新方法,因为该功能不再可用。 此时,迁移可能非常困难。 |
Databricks Runtime 支持生命周期
下表描述了 Databricks Runtime 版本的支持和支持策略的各阶段。 Azure Databricks 发布运行时 Beta 和 GA 版本。 Azure Databricks 支持 GA 版本,为期六个月,除非运行时版本为长期支持 (LTS) 版本。 有关受支持的 Databricks Runtime 版本的信息,请参阅 Databricks Runtime 发行说明版本和兼容性。
不支持的 Databricks Runtime 版本的工作负荷可能会继续运行,但 Azure Databricks 不提供支持或修复。
Databricks Runtime LTS 版本生命周期
| 阶段 | 说明 |
|---|---|
| Beta 版本 | “支持 SLA”不适用。 有关详细信息,请参阅 Databricks Runtime 版本。 |
| 正式版,完全支持 LTS 版本 | 主要的稳定性和安全修补程序可后向移植。 Databricks 每六个月发布一次 LTS 版本,并为其提供为期三年整的支持。 支持的 LTS 版本在支持的 Databricks Runtime LTS 版本中发布。 |
| 支持结束 (EOS) | 如果版本不受支持:
支持结束日期为发布后的三年。 已在终止支持 Databricks Runtime 发行说明中发布不支持的版本。 |
| 生命周期结束 (EoL) | 一旦版本到达生命周期结束,它就会从 Azure Databricks 环境中删除,并且它变得不可用。 无法启动新工作负载,并且这些版本上运行的现有工作负荷会失败。 必须将工作负荷迁移到受支持的运行时版本。 Azure Databricks 尽最大努力确保终止日期在支持终止日期后六个月。 但是,Databricks 保留在支持结束后随时完全删除发布版本的权利,而无需事先通知。 |
Databricks Runtime 非 LTS 版本生命周期
| 阶段 | 说明 |
|---|---|
| Beta 版本 | “支持 SLA”不适用。 有关详细信息,请参阅 Databricks Runtime 版本。 |
| 正式版,完全支持 | 主要的稳定性和安全修补程序可后向移植。 对 Databricks Runtime 版本的完全支持持续六个月,但长期支持 (LTS) 版本除外。 受支持的版本及其支持结束日期发布在所有受支持的 Databricks Runtime 版本中。 |
| 支持结束 (EOS) | 如果版本不受支持:
已在终止支持 Databricks Runtime 发行说明中发布不支持的版本。 |
| 生命周期结束 (EoL) | Databricks 在支持结束后的任何时间保留完全移除发布版本的权利,恕不另行通知。 |
检测哪些群集正在使用旧版 Databricks Runtime 版本
此临时视图汇总了运行 Databricks Runtime 版本 10.4 或更低版本的群集的 Databricks Runtime 群集使用情况。 它聚合过去 90 天的使用情况,包括工作区信息、群集标识符、Databricks Runtime 版本、使用情况单位和 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 Runtime 使用情况,请查询刚刚创建的视图。
SELECT * FROM legacy_dbrs;
若要查看跨工作区和 Databricks Runtime 版本的聚合群集使用情况,请使用以下查询。 这有助于确定哪些 Databricks Runtime 版本仍在使用、运行每个版本的群集数以及 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 天内执行的所有作业,其中最近的运行使用了早于 10.4 的 Databricks Runtime 版本。 这有助于识别需要升级的工作负荷。
%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]\\.)'