【问题标题】:List all notebooks, jobs in databricks and load resultset into a dataframe and a managed table列出数据块中的所有笔记本、作业并将结果集加载到数据框和托管表中
【发布时间】:2021-12-22 00:36:56
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我想你应该去这里提取工作列表:docs.databricks.com/dev-tools/api/latest/jobs.html#operation/…
  • 嗨亚瑟,感谢您的回复。实际上,我正在尝试使用 PowerBI 报告中的数据。因此,考虑开发代码以将数据存储到可以与 PowerBI 连接的托管表中。也主要需要将结果集存储到一个dataframe中,这样我们就可以将dataframe存储到一个表中。
  • 你可以在笔记本上做你说的。首先通过 API 检索作业,对象也是如此,然后从这些调用创建数据帧。然后你只需要写 2 个托管表。
  • 你卡在哪里了?
  • 嗨 Arthur,我无法通过函数调用创建数据框,我是 PySpark 和 DataBricks 的新手,代码取自以下链接 kb.databricks.com/python/list-all-workspace-objects.html

标签: dataframe pyspark databricks azure-databricks


【解决方案1】:

你可以使用job rest api link。您可以使用下面的 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)

【讨论】:

  • 嗨 KarthiKeyan,是的,我能够运行此代码并获取详细信息,如何将结果存储在数据框中,我是 PySpark 和 DataBricks 的新手
  • 我们可以通过在python中写成list并将python list转换为dataframe来获取所需的详细信息。你参考:stackoverflow.com/questions/48448473/…
  • schema = StructType([\StructField("object_type",StringType(),True),\StructField("path",StringType(),True),\StructField("language",StringType( ),True), \ StructField("object_id", StringType(), True), \ ]) df = spark.createDataFrame(data=data1,schema=schema) df = spark.createDataFrame(data=data1,schema=schema)有什么线索吗?
猜你喜欢
  • 1970-01-01
  • 2022-01-22
  • 2021-01-14
  • 2021-07-28
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 2014-10-22
相关资源
最近更新 更多