Databricks文件系统:如何使用笔记本电脑将文件计数为文件夹



问题:Azure Databricks的此文档描述了可以使用dbutils在Databricks File System [DBFS]上执行的任务。有没有一种简单的方法可以找到DBFS内文件夹中的文件总数?

您可以使用两种方法来获取计数值:

选项1:

dbutils.fs.ls()以列表的形式返回指定路径中存在的所有文件的文件信息。

在此返回的列表中使用len((获取该路径中的文件数

len(dbutils.fs.ls('/FileStore/tables/'))

选项2:

import os
paths =os.listdir('/dbfs/FileStore/tables')
print(len(paths))

更新:

此代码将只返回路径中存在的文件数。

import os
contents = os.listdir('/dbfs/FileStore/tables')
cnt=0
for content in contents:
#Concat file name and path to check if it is a file name or not. 
if(os.path.isfile('/dbfs/FileStore/tables/'+content)):
cnt+=1
print(cnt)

Glob的文件匹配模式也有助于确定某些文件类型或避免列出目录名:

from glob import glob
len(
glob("/dbfs/mnt/raw/datasource/dataset/*.parquet")
)

Out[17]: 47

此外,它还有可选的递归搜索:recursive=True

最新更新