Hadoop 中的文件 ID



我想存储一些从HDFS处理的文件的信息。在 Java 程序中读取存储在 HDFS 中的文件的文件位置和字节偏移量的最合适方法是什么?

是否有一个唯一的文件ID与Hadoop 1中存储的每个文件相关联的概念?如果是,那么如何在MapReduce程序中获取它?

根据我的理解,
您可以使用org.apache.hadoop.fs.FileSystem类满足您的所有需求。
1.您可以获取每个文件与其 URI 唯一标识,也可以使用getFileChecksum(Path path)
2.您可以使用getFileBlockLocations(FileStatus file,long start,long len)
获取所有文件的所有块位置 TextInputFormat为文件中的键起始位置提供字节偏移量,这与 HDFS 上的文件偏移量不同。
您可以使用org.apache.hadoop.fs.FileSystem类来满足您的所有需求。还有许多其他方法可用。请仔细阅读以更好地理解。
希望对您有所帮助。

根据"Hadoop权威指南",输入格式TextInputFormat为键提供了字节偏移量的值。

对于文件名,您可以查看以下内容:

Hadoop 中的映射器输入键值对

如何从 R 中的流式 mapReduce 作业中获取文件名?

相关内容

  • 没有找到相关文章

最新更新