2012-07-10 86 views
0

根据“Hadoop权威指南”,输入格式TextInputFormat给出了键值对(k, v) = (byte offset, line)。但是,在MRJob中,映射器输入中的键总是None。将字节偏移作为关键字应该很容易,因为这是TextInputFormat的作用。我如何得到这个?使用MRJob获取字节偏移量

我知道你可以使用环境变量'map_input_start'并自己计算字节偏移量,但是这样做会导致问题,我想以更简单的方式获得偏移量作为关键。

回答

0

未在您的映射器类中使用以下签名定义映射方法会为您提供字节偏移量作为键。

public void map(LongWritable key,Text value,OutputCollector<>,Reporter) 
+0

MRJob是一个使用Hadoop流的Python库。我希望不必惹Java代码 – 2012-07-11 13:10:22

0

TextInputFormat是一个Java类...我看不出在流媒体世界中如何工作。