如何通过SQL查询Databricks作业属性?已知Job ID查询作业名称
能否通过SQL查询Databricks作业名称?
很遗憾,仅通过纯SQL无法直接查询Databricks作业的属性(包括作业名称)。
Databricks作业的元数据属于平台控制平面资源,并不存储在可通过SQL直接访问的常规数据存储或ANSI标准INFORMATION_SCHEMA中,这类信息默认只对REST API、Databricks CLI或Web UI开放。
如果想在SQL界面中实现类似需求,只能用间接方案:
- 提前通过API拉取所有作业的元数据(包含Job ID和作业名称),将数据存入一个自建的Delta表
- 之后就可以用SQL查询这个自建表,通过Job ID关联获取作业名称
举个简单实现示例:
- 创建存储作业元数据的表:
CREATE TABLE IF NOT EXISTS databricks_job_metadata ( job_id STRING PRIMARY KEY, job_name STRING, last_refreshed TIMESTAMP ) USING DELTA
- 定期运行一个小作业(通过API/CLI触发),拉取最新的作业列表并更新这个表
- 查询作业名称:
SELECT job_name FROM databricks_job_metadata WHERE job_id = 'your-target-job-id'
注意:这个方案的前提还是需要借助API来同步元数据,不存在完全脱离API仅用原生SQL直接获取作业属性的方式。
内容的提问来源于stack exchange,提问作者Sasan Ahmadi
相关产品推荐
相关产品推荐

