hadoop的NullWritable


NullWritable是Writable的一個特殊類,實現方法為空實現,不從數據流中讀數據,也不寫入數據,只充當占位符,如在MapReduce中,如果你不需要使用鍵或值,你就可以將鍵或值聲明為NullWritable,NullWritable是一個不可變的單實例類型。

比如,我設置map的輸出為<key,空>,這樣做:

1 public class IPCountMapper extends Mapper<LongWritable, Text, Text, NullWritable> {
2 
3     @Override
4     protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, NullWritable>.Context context)
5             throws IOException, InterruptedException {
6         String parseIP = LogParseUtil.parseIP(value.toString());
7         context.write(new Text(parseIP), NullWritable.get());
8     }

不能使用new NullWritable()來定義,獲取空值只能NullWritable.get()來獲取


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM