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