2013-05-30 81 views
2

我們有一個進程將文件上傳到S3。事實上,這是間接的。我們使用Amazon Elastic MapReduce(EMR),並將Hadoop從多個不同的任務節點提交到S3。然後,在Hadoop作業成功完成後,該進程的另一部分使用Hadoop的FileSystem.createNewFile()從主節點創建一些文件。S3如何在上傳時指定時間戳?

從這些不同機器創建的文件在S3中具有時間戳。我們假設從任務節點提交的文件的時間戳在從主節點創建的文件之前。

我認爲這有時是不真實的,但爲什麼?

什麼時間戳分配給S3文件?它是亞馬遜EMR Hadoop客戶端還是一些S3機器?

如果我有兩臺機器上傳到本地時鐘相差30分鐘的S3,時間戳會相隔30分鐘嗎?

回答

1

S3中唯一的時間戳看起來是「上次修改」的元數據。我相信最後修改的日期/時間由S3系統本身更新,並且反映了文件完全上傳到S3的時間(S3不會顯示不完整的傳輸)。

所以應該不管哪個節點您上傳文件時,S3上的「上次修改時間」時間戳在S3上列出時應始終保持不變。

+0

這是相同的,當我列出來,但是當我在順序的上傳兩個文件,B,有時時間戳顯示訂單B,A。所以,既然有多個涉及S3的機器,我想知道客戶端或服務器是否確定時間戳。 – dfrankow

相關問題