首页 > 解决方案 > 从 Databricks 笔记本中获取 Azure Data Lake Storage Gen1 中嵌套文件夹的大小

问题描述

我想从 Databricks Notebook 中获取文件夹大小的详细信息。

我们可以通过 putty 通过运行 hadoop fs -lh {root-folder-path} 来做同样的事情。此命令将返回根文件夹内所有文件夹的人类可读大小。PFB 样品:

在此处输入图像描述

我尝试从笔记本运行类似的 hadoop 命令,如下所示,但我相信 Hadoop 没有安装在驱动程序节点中:

在此处输入图像描述

当我尝试 ls {root-folder-path} 时。我将文件夹大小设为 0。这是因为 dbutils 仅为文件提供大小值。文件夹被硬编码为 0.PFB 示例:

在此处输入图像描述

请指导我获取详细信息的最佳方法。

标签: linuxazurehadoopdatabricksazure-databricks

解决方案


在 Azure Databricks 中,这是预期行为。

  • 对于文件,它显示实际文件大小。
  • 对于目录,它显示 size=0
  • 对于损坏的文件显示 size=0

在此处输入图像描述

可以使用 Azure Databricks CLI 获取更多详细信息:

在此处输入图像描述

以下文章“使用 Pyspark 计算 Azure Data Lake 中文件夹的总存储大小”解释了如何将 ADLS Gen 1 中的存储大小以及文件和文件夹的数量递归计算到 Databricks 中。


推荐阅读