Exemplo n.º 1
0
    @Override
    public void map(LongWritable key, Text value, TupleMRContext context, Collector collector)
        throws IOException, InterruptedException {
      user.set("name", "Pere");
      user.set("money", 100);
      user.set("my_country", "ES");
      collector.write(user);

      user.set("name", "Iván");
      user.set("my_country", "ES");
      user.set("money", 50);
      collector.write(user);

      user.set("my_country", "FR");
      user.set("money", 150);
      user.set("name", "Eric");
      collector.write(user);

      country.set("country", "ES");
      country.set("averageSalary", 1000);
      collector.write(country);

      country.set("country", "FR");
      country.set("averageSalary", 1500);
      collector.write(country);
    }
 @Override
 public void reduce(
     ITuple group, Iterable<ITuple> tuples, TupleMRContext context, Collector collector)
     throws IOException, InterruptedException, TupleMRException {
   int count = 0;
   ITuple outputTuple = null;
   for (ITuple tuple : tuples) {
     outputTuple = tuple;
     count += (Integer) tuple.get(1);
   }
   outputTuple.set(1, count);
   collector.write(outputTuple, NullWritable.get());
 }
    @Override
    public void map(LongWritable key, Text value, TupleMRContext context, Collector collector)
        throws IOException, InterruptedException {
      if (tuple == null) {
        tuple = new Tuple(context.getTupleMRConfig().getIntermediateSchema(0));
      }

      StringTokenizer itr = new StringTokenizer(value.toString());
      tuple.set(1, 1);
      while (itr.hasMoreTokens()) {
        tuple.set(0, itr.nextToken());
        collector.write(tuple);
      }
    }
    @Override
    public void reduce(
        ITuple group, Iterable<ITuple> tuples, TupleMRContext context, Collector collector)
        throws IOException, InterruptedException, TupleMRException {

      if (outputCount == null) {
        outputCount = new IntWritable();
      }
      int count = 0;
      for (ITuple tuple : tuples) {
        count += (Integer) tuple.get(1);
      }
      outputCount.set(count);
      collector.write((Text) group.get(0), outputCount);
    }