Databricks dBFS是否支持文件元数据,如文件/文件夹创建日期或修改日期

更新时间:2023-04-02 11:46:04

问题阐述

我试图在Databricks笔记本中的一个目录中爬行,以查找最新的拼花地板文件。Dbfsutils.fs.ls似乎不支持有关文件或文件夹的任何元数据。在Python中有没有其他方法可以做到这一点?这些数据存储在装载到dBFS的"/mnt/foo"下的一个蔚蓝数据湖中。如有任何帮助或指示,我们将不胜感激。

精准答案

据我所知,在Azure数据库上,dBFS路径dbfs:/mnt/foo与linux路径/dbfs/mnt/foo相同,因此您只需在Python中使用os.stat(path)来获取文件元数据,如创建日期或修改日期。

以下是我的示例代码。

import os
from datetime import datetime
path = '/dbfs/mnt/test'
fdpaths = [path+"/"+fd for fd in os.listdir(path)]
for fdpath in fdpaths:
    statinfo = os.stat(fdpath)
    create_date = datetime.fromtimestamp(statinfo.st_ctime)
    modified_date = datetime.fromtimestamp(statinfo.st_mtime)
    print("The statinfo of path %s is %s, 
	which create date and modified date are %s and %s" % (fdpath, statinfo, create_date, modified_date))

结果如下图所示。