如何在databricks工作区中使用python获取azuredatalake存储中每个文件的最后修改时间?

2024-06-16 15:27:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取azure data lake中每个文件的最后修改时间。在

文件=dbutils.fs.ls('/mnt/blob')

对于fi in文件: 打印(fi)

在输出:-FileInfo(path='dbfs:/mnt/blob/rule-sheet)_侦察xlsx',name='规则表_侦察xlsx,尺寸=10843)

这里我无法得到文件的最后修改时间。有没有办法得到那笔财产。在

我尝试使用下面的shell命令查看属性,但无法将其存储在python对象中。在

%sh ls-ls/dbfs/mnt/blob/

在输出:- 总计0

0-rw-r--r--1根根13577 9月20日10:50 a.txt

0-rw-r--r--1根根10843 9月20日10:50 b.txt


Tags: 文件txtdata时间xlsxazurelsblob
1条回答
网友
1楼 · 发布于 2024-06-16 15:27:31

很遗憾,无法使用“”获取元数据信息dbutils.fs.ls“命令。在

原因:

dbutils.fs.ls“ls命令返回的序列包含以下属性:

enter image description here

注意:您可以使用“帮助”来获取每个命令的详细信息,例如:dbutils.fs.帮助(“ls”)

enter image description here

您可以使用python native sdk获取Azure数据块中装入文件的最后修改日期。在

以下是从Azure blob获取元数据信息的示例代码:

from azure.storage.blob import BlockBlobService
block_blob_service = BlockBlobService(account_name='accoutName', account_key='accountKey')
container_name ='containerName'
block_blob_service.create_container(container_name)
generator = block_blob_service.list_blobs(container_name)
for blob in generator:
    lastModified= BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name).properties.last_modified
    print("\t Blob name: " + blob.name)
    print(lastModified)

希望这有帮助。在

相关问题 更多 >