需要帮助来解决这个mapreduce代码

时间:2016-08-07 20:03:56

标签: hadoop mapreduce apache-pig

Below is the data

c1         p1      q1      d1

c2         p2      q2      d2

需要输出 - 如果客户已购买p1,则应提供flag as 1否则应提供flag 0。有数百万的客户和数百万的产品以下是所需的输出。对此的任何帮助都非常感谢。

c1 p1 q1 d1 1

c1 p2 q1 d1 0

c2 p2 q2 d2 1

c2 p1 q2 d2 0

1 个答案:

答案 0 :(得分:0)

您只需使用mapside逻辑即可实现它,示例代码供您参考:

public void map(LongWritable key, Text value, Context context)
        throws IOException, InterruptedException {
    String line = value.toString();
    NullWritable value = NullWritable.get();
    String tokens[] = line.split("<your delim>");
    if (tokens[1] == "p1") {
        line = line + "<your delim>" + "1";
    } else if (tokens[1] == "p2") {
        line = line + "<your delim>" + "0";
    }
    context.write(newText(line), value);
}