如何通过Notebook统计Databricks文件系统(DBFS)文件夹内文件总数
统计DBFS文件夹内文件总数的简单方法
以下是几种高效统计Databricks File System(DBFS)指定文件夹内文件总数的方法:
方法一:使用dbutils.fs递归计数(Python)
通过递归遍历目标路径,区分文件和文件夹并累加计数:
def count_dbfs_files(path): file_count = 0 for item in dbutils.fs.ls(path): if item.isFile(): file_count += 1 else: file_count += count_dbfs_files(item.path) return file_count # 替换为你的目标文件夹路径 total = count_dbfs_files("/mnt/your-folder-path") print(f"总文件数:{total}")
方法二:使用Spark SQL(适合大规模文件场景)
利用Spark的元数据查询能力,高效统计递归路径下的文件数量:
# 方式1:直接查询DBFS路径元数据 file_count = spark.sql("SELECT COUNT(*) FROM dbfs.`/mnt/your-folder-path` WHERE isFile = true").first()[0] # 方式2:通过binaryFile数据源递归读取 files_df = spark.read.format("binaryFile").option("recursiveFileLookup", "true").load("/mnt/your-folder-path") file_count = files_df.count() print(f"总文件数:{file_count}")
方法三:使用Databricks CLI(命令行方式)
如果已配置Databricks CLI,可通过命令行快速统计:
# 递归列出所有内容,排除文件夹后统计行数 databricks fs ls -r /mnt/your-folder-path | grep -v "^d" | wc -l
内容的提问来源于stack exchange,提问作者nam
相关产品推荐
相关产品推荐

