Databricks dBFS是否支持文件元數據,如文件/文件夾創建日期或修改日期

更新時間:2024-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))

結果如下圖所示。