問題
當你使用dbutilsS3工具列出文件位置,S3文件列表以隨機的順序。然而,dbutils沒有提供任何方法根據文件修改時間排序。dbutils沒有列表的修改時間。
解決方案
使用Hadoop文件係統API S3文件,如下所示:
% scala org.apache.hadoop.fs進口。_ = new val路徑路徑(/ mnt / abc) val fs = path.getFileSystem (spark.sessionState.newHadoopConf) val inode = fs.listStatus(路徑).sortBy (_.getModificationTime inodes.filter (_)。getModificationTime > 0) . map (t = > (t。getPath, t。getModificationTime, t.getLen)) .foreach println ()
這段代碼使用Hadoop文件係統的listStatus方法對S3進行排序文件修改時間的基礎上。