【发布时间】:2020-10-14 18:11:55
【问题描述】:
我有一个场景,我想列出 Azure Blob 目录中的所有文件夹。如果没有文件夹存在,则创建一个具有特定名称的新文件夹。
我正在尝试使用 dbutils.fs.ls(path) 列出文件夹。
但上述命令的问题是,如果路径不存在,它会失败,这对我来说是一个有效的场景。
如果我的程序第一次运行,路径将不存在,dbutils.fs.ls 命令将失败。 有什么方法可以从 Databricks 动态处理这种情况。
如果我可以在执行作业之前从 Databricks 在 Azure Blob 中创建一个空文件夹,这对我也有用。
我已尝试从 databricks 笔记本中运行以下命令
%sh mkdir -p /mnt/<mountName>/path/folderName
这里命令运行成功,即使我在 Azure Blob 中的容器已挂载,它也不会创建文件夹。 对不起,这么长的帖子。任何帮助深表感谢。提前致谢
【问题讨论】:
-
仅供参考,blob 存储(不是 ADLS Gen2)不允许创建空文件夹,除非该文件夹包含至少一个文件。因此,您可以尝试在其中创建一个文件夹以及一个文件/blob。
-
是的,这正是问题所在。我想我会简单地处理 dbutils.fs.ls 命令在路径不存在时使用 try 和 except 失败。如果路径或文件不存在,则无法创建文件夹
标签: azure databricks azure-blob-storage azure-databricks