我有一个在 Hadoop dfs 中创建文件的代码。这些文件的名称是递增的(如 1、2、3 等)。这样做是为了保持创建的文件的正确顺序。但是当我查看文件时,这些文件以随机顺序显示(可能是由于文件大小的变化)。
我还有一个代码,它作为输入目录路径并读取其下的所有文件。但我担心的是,文件的读取顺序与写入的顺序不同(读取顺序与 UI 上看到的顺序相同)。
我应该如何实现这一目标?在编写文件本身以保留顺序时我可以做些什么,还是在阅读时需要处理它?
org.apache.hadoop.fs.FileStatus.getModificationTime()给出了表示上次修改文件时间的长值。这可用于对文件进行排序。但似乎不是一个可行的解决方案,因为我可能有任意数量的文件。
我们是否有任何 API 类可以为我做到这一点,甚至可以保留订单?