Databricks 支持生命周期

作为 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 支持。
  • 修复程序没有被向后移植。
  • 创建或更新计算资源时,它不再能够通过 UI 进行选择。

支持结束日期为发布后的三年。
已在终止支持 Databricks Runtime 发行说明中发布不支持的版本。
生命周期结束 (EoL) 一旦版本到达生命周期结束,它就会从 Azure Databricks 环境中删除,并且它变得不可用。 无法启动新工作负载,并且这些版本上运行的现有工作负荷会失败。 必须将工作负荷迁移到受支持的运行时版本。
Azure Databricks 尽最大努力确保终止日期在支持终止日期后六个月。 但是,Databricks 保留在支持结束后随时完全删除发布版本的权利,而无需事先通知。

Databricks Runtime 非 LTS 版本生命周期

阶段 说明
Beta 版本 “支持 SLA”不适用。 有关详细信息,请参阅 Databricks Runtime 版本
正式版,完全支持 主要的稳定性和安全修补程序可后向移植。
对 Databricks Runtime 版本的完全支持持续六个月,但长期支持 (LTS) 版本除外。
受支持的版本及其支持结束日期发布在所有受支持的 Databricks Runtime 版本中。
支持结束 (EOS) 如果版本不受支持:
  • 在这些版本上运行的工作负荷不会获得 Databricks 支持。
  • 修复程序没有被向后移植。
  • 创建或更新计算资源时,它不再能够通过 UI 进行选择。

已在终止支持 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]\\.)'