【问题标题】:Why can't output value of hadoop map be null?为什么hadoop map的输出值不能为null?
【发布时间】:2014-03-10 02:28:22
【问题描述】:

我只想使用 hadoop mapreduce 对我的日志行进行排序。我把该行的所有字段作为输出键,并将输出值设置为空。但是在运行时,在行引发空指针异常

context.write(new Text(outkeystr), null);

那么为什么hadoop map的输出值不能为null呢? 为什么hadoop reduce的输出值可以(我测试过)?

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    您不能使用显式值 null,但如果您不关心值,则可以使用 NullWritable

    【讨论】:

    • 这将是准确的语句“context.write(new Text(outkeystr), NullWritable.get());”
    【解决方案2】:

    您不能输出空值。你可以输出一个空键:

    context.write(null, new Text(outkeystr));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 2016-08-05
      • 2014-03-18
      • 1970-01-01
      相关资源
      最近更新 更多