2 qq 21194023 qq_21194023 于 2016.02.26 10:10 提问

求mapreduce大神,看我这代码跑出来怎么没有结果?

public static class Map extends Mapper {
Text mk = new Text();

    public void map(Object key, Text value, Context context)
            throws IOException, InterruptedException {
        try {
            String[] line = value.toString().split("\t");
            while (line != null) {
                String one = line[0] + "\t" + line[1] + "\t" + line[2];
                String qm = line[3];
                String tg = line[4] + "\t" + line[5];
                System.out.println(one + "\t" + tg);
                if (qm.contains("*")) {
                    String[] two = qm.split("*");
                    for (String sign : two) {
                        mk.set(one + "\t" + sign + "\t" + tg);
                    }
                } else {
                    mk.set(one + "\t" + qm + "\t" + tg);
                }
                context.write(mk, NullWritable.get());

            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

看看哪里出错,改一下
原文件实例数据
00022 000CE34D03F8B551F2346D19D8379B33 2013-10-09 [大天开]*[开天] F 车主
00022 000CE34D03F6B551F9904D19D8379B33 2013-10-09 [大天开]*[开天] X 新老用户
想要的到的数据
00022 000CE34D03F8B551F2346D19D8379B33 2013-10-09 [大天开] F 车主
00022 000CE34D03F8B551F2346D19D8379B33 2013-10-09 [开天] F 车主
00022 000CE34D03F6B551F9904D19D8379B33 2013-10-09 [大天开] X 新老用户
00022 000CE34D03F6B551F9904D19D8379B33 2013-10-09 [开天] X 新老用户

1个回答

a615625635
a615625635   2016.02.26 17:46

空格分割符不是\t \s 多个空格\s+

qq_21194023
qq_21194023 感谢你的回答,不过我这是Tab分割,问题在别的地方,我已经解决了。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!