如何恢复已删除的Databricks作业并查询删除用户ID?
恢复Databricks已删除作业及查询删除用户ID
一、恢复已删除作业
Databricks没有原生的“恢复删除作业”功能,但可以通过以下方式尝试重建或恢复:
- 利用Git版本控制:如果作业配置已同步到Git仓库(启用了工作流的Git集成),直接从仓库中拉取作业的历史定义,重新创建作业。
- 从作业运行记录克隆:在Databricks UI的作业运行页面,找到该作业之前的运行记录(即使作业已删除,运行记录会保留一段时间),点击记录右上角的克隆按钮,即可基于原有配置快速重建作业。
- 联系Databricks支持团队(企业版用户):提交支持工单,说明作业ID和删除时间,团队可根据后端备份策略尝试恢复(恢复成功率取决于备份保留周期,无法保证100%恢复)。
二、查询执行删除操作的用户ID
默认的databricks jobs相关CLI命令只能查看现有作业,无法获取删除操作记录,需要通过审计日志或事件日志查询:
1. 使用审计日志查询
- 确认工作区已启用审计日志(企业版默认开启,标准版需在工作区管理中配置)。
- 通过CLI下载并过滤审计日志:
过滤结果中的# 下载工作区审计日志 databricks audit-logs download --log-type workspace # 用jq过滤jobs.delete事件(替换YOUR_JOB_ID为目标作业ID) cat <下载的日志文件> | jq '.[] | select(.operationName == "jobs.delete" and .requestParams.job_id == "YOUR_JOB_ID")'userIdentity.principalId字段即为执行删除操作的用户ID。 - 也可以直接在Databricks UI的工作区管理->审计日志中,通过搜索框输入
jobs.delete和作业ID,找到对应的操作记录,查看操作人信息。
2. 使用事件日志查询
如果工作区已启用事件日志(需配置Unity Catalog或外部存储),可以在事件日志的存储位置(如S3、ADLS)中,查找包含jobs.delete事件的日志文件,从中提取操作用户的ID信息。
内容的提问来源于stack exchange,提问作者Florent M
相关产品推荐
相关产品推荐

