2017-07-27 26 views
0

Spark 2.1.x在這裏。我有一個配置爲從Amazon S3讀取/寫入數據的Spark羣集。我可以像這樣成功地做到這一點:通過Spark查詢Amazon S3對象元數據

val s3Path = "/mnt/myAwsBucket/some/*.json" 
val ds = spark.read.json(s3Path) 

到目前爲止好 - 如果有在該位置讀取所有的人都多JSON文件合併爲一個Dataset。我正在尋找以某種方式獲取每個JSON文件上的最後修改時間戳,我讀取它並將其存儲在日期時間數組中。因此,如果有20個JSON文件正在閱讀,那麼我最終會得到一個包含20個日期時間的數組。

任何想法我可以做到這一點?查看Spark API文檔我沒有看到任何方法來查詢S3對象的元數據...

回答

1

您不通過Spark API,而是通過AWS S3 SDK查詢s3信息。你可以這樣做:顯式地,你將不得不通過Maven下載AWS S3 SDK並且包含依賴。另外,我認爲他們可能已棄用了較新版本的SDK中的AmazonS3Client,因此您可能需要稍作更改,具體取決於您下載的SDK版本。)