簡體   English   中英

通過 PySpark 獲取 S3 中的最新文件

[英]Get most recent file in S3 via PySpark

有沒有辦法通過 Pyspark 獲取 S3 存儲庫中的最后一個文件?

我設法使用以下代碼用 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 FileSystem API,使用 listStatusIterator()/listFiles() 獲取迭代器並掃描, FileStatus.getModificationTime()為您提供最后修改的字段。

但請注意:大文件上傳的 S3 時間戳是上傳開始而非完成的時間。 上傳需要幾分鍾的大文件會比上傳過程中在單個 PUT 中上傳的小文件更舊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM