【问题标题】:How to read data from Databricks DBFS using Rest API in csv or Excel format?如何使用 csv 或 Excel 格式的 Rest API 从 Databricks DBFS 读取数据?
【发布时间】:2020-08-22 01:34:44
【问题描述】:

我正在使用 Databricks Rest API 读取存储在 DFBS 上的数据集。输出采用 64 位编码格式和 json 格式。 我需要易于阅读的表格格式的输出。

Rest Api 的输出: { “bytes_read”:4601, “数据”:“U2VwYWxMZW5ndGgsU2VwYWxXaWR0aCxQZXRhbE” }

需要输出:

enter image description here

【问题讨论】:

  • 你确定没有更多的输出了吗?通过 Base64 解码器运行 data 值会提供图像中的部分列名,因此响应中似乎应该有更多信息。
  • 输出是一个更大的字符串。为了简单起见,我将其缩短了。我有办法对其进行解码并在 API 本身中获取表结构。
  • 不确定。我猜你是 base64 解码了完整的字符串,你会得到 CSV 格式的表格。但是如果没有完整的字符串就无法判断。

标签: pyspark azure-databricks


【解决方案1】:

您可以使用以下代码下载 csv 文件,

jsonbody = {"path": dbfspath}

TOKEN = "dapi....." # 你可以从用户设置中生成这个令牌

response = requests.get('https://eastus.azuredatabricks.net/api/2.0/dbfs/read/', headers={'Authorization': 'Bearer %s' % self.TOKEN }, json= jsonbody)

filedata = json.loads(response.text)["data"]

以 open(outputpath, "wb") 作为文件:

  file.write(base64.b64decode(filedata))

如果您需要任何其他帮助,请告诉我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多