【问题标题】:How to create a empty folder in Azure Blob from Azure databricks如何从 Azure Databricks 在 Azure Blob 中创建一个空文件夹
【发布时间】: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


【解决方案1】:

dbutils.fs.mkdirs("/mnt/&lt;mountName&gt;/path/folderName")

我发现这可以创建一个安装了 blob 存储的文件夹

【讨论】:

  • 就我而言,这成功了:dbutils.fs.mkdirs("dbfs:/mnt/folder_desktop/test/uploads")
猜你喜欢
  • 2014-12-30
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
  • 2018-04-13
  • 2022-01-13
  • 2017-02-08
  • 2020-11-15
相关资源
最近更新 更多