linux - 从 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 示例:
请指导我获取详细信息的最佳方法。
解决方案
在 Azure Databricks 中,这是预期行为。
- 对于文件,它显示实际文件大小。
- 对于目录,它显示 size=0
- 对于损坏的文件显示 size=0
可以使用 Azure Databricks CLI 获取更多详细信息:
以下文章“使用 Pyspark 计算 Azure Data Lake 中文件夹的总存储大小”解释了如何将 ADLS Gen 1 中的存储大小以及文件和文件夹的数量递归计算到 Databricks 中。
推荐阅读
- sql - 左连接与用另一个表更新表的结果不同
- kotlin - recyclerview 显示空白屏幕
- bash - 如何从 bash 脚本创建新过程
- cordova - Meteor - Cordova - 允许来自第三方服务的图像并阻止其他 url
- kubernetes - 如何在 minikube 上安装 kube-dns?
- python - 烧瓶多线程实际上并未为每个请求启动单独的线程
- bash - 如何在 AWS lambda 中安装和运行 acme.sh?
- sparql - SparQL:替换主题 URI
- amazon-web-services - 如何将 Spark 开发环境连接到 AWS Glue 终端节点
- javascript - 制作密码错觉的最简单方法是什么?