是否有一种方法可以列出 databricks 中一个工作区中的所有笔记本、作业并将它们加载到 DBFS 中的托管表中?
我在下面的链接中找到了一个功能代码
https://kb.databricks.com/python/list-all-workspace-objects.html
但是,这并没有给出职位列表。 还主要需要将结果集存储到一个dataframe中,这样我们就可以将dataframe存储到一个表中。
您可以使用作业休息 API 链接。您可以使用下面的 python 代码来获取工作区中的所有作业对象,并从该响应中表达您需要的信息。注意:经过测试的代码!!
import requests
import json
class BearerAuth(requests.auth.AuthBase):
def __init__(self, token):
self.token = token
def __call__(self, r):
r.headers["authorization"] = "Bearer " + self.token
return r
response = requests.get('https://databricksinstance/api/2.0/jobs/list', auth=BearerAuth('token')).json()
print(response)
您可以添加下面的代码片段来自动解析 json 响应并将其放入 Pandas 数据帧中:
import pandas as pd
pd.json_normalize(response["jobs"])
#For Jobs you may try this
databricks_instance = 'https://your-cloud.databricks.com'
token = 'your_token'
api_url = f'{databricks_instance}/api/2.1/jobs/list'
headers = {
'Authorization': f'Bearer {token}'
}
response = requests.get(api_url, headers=headers)
print("response:>>",response)
if response.status_code == 200:
jobs = response.json()['jobs']
print("jobs:>>",jobs)