列出数据块中的所有笔记本、作业并将结果集加载到数据框和托管表中

问题描述 投票:0回答:3

是否有一种方法可以列出 databricks 中一个工作区中的所有笔记本、作业并将它们加载到 DBFS 中的托管表中?

我在下面的链接中找到了一个功能代码

https://kb.databricks.com/python/list-all-workspace-objects.html

但是,这并没有给出职位列表。 还主要需要将结果集存储到一个dataframe中,这样我们就可以将dataframe存储到一个表中。

dataframe pyspark databricks azure-databricks
3个回答
1
投票

您可以使用作业休息 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)

enter image description here


0
投票

您可以添加下面的代码片段来自动解析 json 响应并将其放入 Pandas 数据帧中:

import pandas as pd

pd.json_normalize(response["jobs"])

0
投票
  #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)
© www.soinside.com 2019 - 2024. All rights reserved.