【问题标题】:How to programmatically retrieve the workspace url and clusterOwnerUserId?如何以编程方式检索工作区 url 和 clusterOwnerUserId?
【发布时间】:2022-10-02 13:39:18
【问题描述】:

我想以编程方式创建 url 来下载文件。

为此,我需要workspaceUrlclusterOwnerUserId

如何在 Databricks 笔记本中检索这些内容?

# how to get the `workspaceUrl` and `clusterOwnerUserId`?

tmp_file = \'/tmp/output_abcd.xlsx\'
filestore_file = \'/FileStore/output_abcd.xlsx\'

# code to create file omitted for brevity ...

dbutils.fs.cp(f\'file:{tmp_file}\', filestore_file)
    
downloadUrl = f\'https://{workspaceUrl}/files/output_abcd.xlsx?o={clusterOwnerUserId}\'

displayHTML(f\"<a href=\'{downloadUrl}\'>download</a>\")

    标签: databricks


    【解决方案1】:

    变量在 spark conf 中可用。

    例如。

    clusterOwnerUserId = spark.conf.get('spark.databricks.clusterUsageTags.orgId')
    workspaceUrl = spark.conf.get('spark.databricks.workspaceUrl')
    

    然后使用可以使用细节如下:

    tmp_file = '/tmp/output_abcd.xlsx'
    filestore_file = '/FileStore/output_abcd.xlsx'
    
    # code to create file omitted for brevity ...
    
    dbutils.fs.cp(f'file:{tmp_file}', filestore_file)
    
    downloadUrl = f'https://{workspaceUrl}/files/output_abcd.xlsx?o={clusterOwnerUserId}'
    
    displayHTML(f"<a href='{downloadUrl}'>download</a>")
    

    【讨论】:

      【解决方案2】:

      Filestore 中的 Databricks 文件位于 /FileStore/my-stuff/my-file.txt 可在以下位置访问: “https://databricks-instance-name.cloud.databricks.com/files/my-stuff/my-file.txt”

      【讨论】:

        猜你喜欢
        • 2012-01-30
        • 2011-07-24
        • 1970-01-01
        • 2012-03-29
        • 1970-01-01
        • 1970-01-01
        • 2015-04-29
        • 1970-01-01
        • 2014-11-04
        相关资源
        最近更新 更多