Example #1
0
    @Override
    protected void map(
        BytesWritable key,
        ArrayWritable value,
        Mapper<BytesWritable, ArrayWritable, BytesWritable, TextArrayWritable>.Context context)
        throws IOException, InterruptedException {
      Map<String, Report> reports = new LinkedHashMap<String, Report>();

      Writable[] repts = value.get();
      if (repts.length == 0 || !(repts[0] instanceof Text)) {
        System.out.println("error: bad input.");
        return; // bail out more drastically
      }
      Text[] repts_as_text = (Text[]) repts;
      for (Text t : repts_as_text) {
        Report r = Report.createFromString(t.toString());
        reports.put(r.getMetadata().getOpIdString(), r);
      }

      Text[] indexed = indexGraph(reports);
      TextArrayWritable output = new TextArrayWritable();
      output.set(indexed);

      context.write(key, output);
    }