通过PySpark获取S3中的最新文件



是否可以通过Pyspark获取S3 repo中的最后一个文件?

我设法用Python使用以下代码做到了这一点:

paginator = client.get_paginator('list_objects_v2')
pages = paginator.paginate(Bucket=Bucket, Prefix=Path)
for page in pages:
for obj in page['Contents']:
latest = max(page['Contents'], key=lambda x: x['LastModified'])

在Spark上我找不到任何文档。

谢谢

您只需要使用Hadoop文件系统API,使用listStatusTerator((/listFiles((来获取迭代器并扫描,FileStatus.getModificationTime()会给您最后一个修改过的字段。

不过要注意:S3大文件上传的时间戳是上传开始的时间,而不是完成的时间。一个花了很多分钟上传的大文件看起来比上传过程中单个PUT中上传的小文件要旧。

最新更新