如何以编程方式检索工作区url和clusterOwnerUserId



我想通过编程创建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>")

变量在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>")

位于/FileStore/my-stuff/my-file.txt可访问:"https://databricks-instance-name.cloud.databricks.com/files/my-stuff/my-file.txt"我认为你不需要o=。。。部分这是工作区Id btw,而不是clusterOwner用户Id。

最新更新