我在databricks中安装了一个s3 bucket,我可以看到文件列表,也可以使用python读取文件
ACCESS_KEY = "XXXXXXXXXX"
SECRET_KEY = "XXXXXXXXXXXXXX"
ENCODED_SECRET_KEY = SECRET_KEY.replace("/", "%2F")
AWS_BUCKET_NAME = "testbucket"
MOUNT_NAME = "awsmount1"
dbutils.fs.mount("s3a://%s:%s@%s" % (ACCESS_KEY, ENCODED_SECRET_KEY, AWS_BUCKET_NAME), "/mnt/%s" % MOUNT_NAME)
display(dbutils.fs.ls("/mnt/%s/data" % MOUNT_NAME))
我想找出我正在阅读的文件的上次修改日期,我找不到太多,但java选项数据砖读取Azure blob的上次修改日期为azure blob,数据砖中有一个python本机选项来读取文件元数据。
如果我理解正确的话,您需要使用python原生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)
您可以在此处获取有关此内容的更多详细信息。
如果您正在寻找S3,那么我建议您使用Boto.oto3在使用(S3)Object python对象时返回LastModified的日期时间对象:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Object.last_modified
要将上次修改日期与今天的日期(Python3)进行比较,
import boto3
from datetime import datetime, timezone
today = datetime.now(timezone.utc)
s3 = boto3.client('s3', region_name='eu-west-1')
objects = s3.list_objects(Bucket='my_bucket')
for o in objects["Contents"]:
if o["LastModified"] == today:
print(o["Key"])
参考
希望有帮助。
我需要知道如何才能提到"过滤"的文件,例如每天的文件:2到12。 我已经尝试与此代码,但我得到所有的文件日期没有过滤他们 文件日期的结果
我需要获取Azure Databricks下DBFS装载点(ADLS Gen1)中所有文件夹和文件的最后修改日期。文件夹结构如下: 使用以下Python代码获取最后修改日期: 从上面的代码中,我得到了所有包含文件的文件夹的正确修改日期。 但对于空文件夹,它会给出当前日期。不是上次修改日期。 然而,当我硬编码空文件夹的路径时,它会给出正确的修改日期: 打印(datetime.fromtimestam
我正试图在databricks笔记本的目录中查找最新的拼花文件。dbfsutils.fs.ls似乎不支持任何有关文件或文件夹的元数据。python中有没有其他方法可以做到这一点?数据存储在azure数据湖中,该数据湖安装在“/mnt/foo”下的DBFS上。感谢任何帮助或指点。
问题内容: 我有一个脚本,该脚本需要根据文件创建和修改日期执行一些操作,但必须在Linux和Windows上运行。 在Python中获取文件创建和修改日期/时间的最佳跨平台方法是什么? 问题答案: 以跨平台的方式获取某种修改日期很容易-只需调用,你就会获得Unix时间戳,该时间戳是文件的最后修改时间。 另一方面,获取文件的创建日期是不固定的,并且依赖于平台,甚至在三大操作系统之间也有所不同: 在上
问题内容: 有什么标准的方法可以告诉您页面的最后修改时间?目前,我正在这样做: 但是,看起来有些站点没有字段。 http://www.cbc.ca具有以下标头字段: 我可以解析页面以尝试获取其日期,但这似乎是一个很大的痛苦。标准是什么? (如果可能的话,我想坚持使用URLConnection,因为那是我用来下载网页的方法) 问题答案: 没有标准。动态生成的网页通常没有“ Last- Modifie
我有一个Azure Blob存储安装到我的Database ricks hdfs。有没有办法在数据库中获取Blob的最后修改日期? 这就是我阅读blob内容的方式: