问题
当你使用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进行排序文件修改时间的基础上。