我正在处理目录中的一组文件,这是另一个任务的输出。我需要一次处理整个文件的内容(计算 MD5 校验和并进行一些转换)。我不确定我的 Mapper 的签名应该是什么样子,如果我要做的话
class MyMapper extends Mapper<LongWritable, Text, NullWritable, NullWritable> { ... }
然后我将在map方法中获取输入文件的全部内容。这将存储在内存中,但文件可能非常大。
有没有办法不将完整的“记录”读入内存以供 Hadoop 映射任务处理,而是获取记录的“流”?