Package sizzle.aggregators

Source Code of sizzle.aggregators.MaximumSizzleReducerOne

package sizzle.aggregators;

import java.util.ArrayList;
import java.util.List;

import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mrunit.mapreduce.ReduceDriver;
import org.junit.Test;

import sizzle.io.EmitKey;
import sizzle.io.EmitValue;

public class TestMaximumAggregator {
  @Test
  public void testMaximumAggregatorTopTenCombine() {
    final List<EmitValue> values = new ArrayList<EmitValue>();
    values.add(new EmitValue("two", 200));
    values.add(new EmitValue("thirteen", 1300));
    values.add(new EmitValue("six", 600));
    values.add(new EmitValue("four", 400));
    values.add(new EmitValue("seven", 700));
    values.add(new EmitValue("fourteen", 1400));
    values.add(new EmitValue("three", 300));
    values.add(new EmitValue("nine", 900));
    values.add(new EmitValue("one", 100));
    values.add(new EmitValue("twelve", 1200));
    values.add(new EmitValue("ten", 1000));
    values.add(new EmitValue("eleven", 1100));
    values.add(new EmitValue("five", 500));
    values.add(new EmitValue("eight", 800));

    final ReduceDriver<EmitKey, EmitValue, EmitKey, EmitValue> reduceDriver = new ReduceDriver<EmitKey, EmitValue, EmitKey, EmitValue>(
        new MaximumSizzleCombiner());
    reduceDriver.setInput(new EmitKey("test"), values);
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("fourteen", 1400.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("thirteen", 1300.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("twelve", 1200.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("eleven", 1100.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("ten", 1000.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("nine", 900.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("eight", 800.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("seven", 700.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("six", 600.0));
    reduceDriver.addOutput(new EmitKey("test"), new EmitValue("five", 500.0));
    reduceDriver.runTest();
  }

  @Test
  public void testMaximumAggregatorTopTenReduce() {
    final List<EmitValue> values = new ArrayList<EmitValue>();
    values.add(new EmitValue("two", 200));
    values.add(new EmitValue("thirteen", 1300));
    values.add(new EmitValue("six", 600));
    values.add(new EmitValue("four", 400));
    values.add(new EmitValue("seven", 700));
    values.add(new EmitValue("fourteen", 1400));
    values.add(new EmitValue("three", 300));
    values.add(new EmitValue("nine", 900));
    values.add(new EmitValue("one", 100));
    values.add(new EmitValue("twelve", 1200));
    values.add(new EmitValue("ten", 1000));
    values.add(new EmitValue("eleven", 1100));
    values.add(new EmitValue("five", 500));
    values.add(new EmitValue("eight", 800));

    final ReduceDriver<EmitKey, EmitValue, Text, NullWritable> reduceDriver10 = new ReduceDriver<EmitKey, EmitValue, Text, NullWritable>(
        new MaximumSizzleReducerTen());
    reduceDriver10.setInput(new EmitKey("test"), values);
    reduceDriver10.addOutput(new Text("test[] = fourteen weight 1400.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = thirteen weight 1300.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = twelve weight 1200.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = eleven weight 1100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = ten weight 1000.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = nine weight 900.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = eight weight 800.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = seven weight 700.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = six weight 600.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = five weight 500.0"), NullWritable.get());
    reduceDriver10.runTest();

    final ReduceDriver<EmitKey, EmitValue, Text, NullWritable> reduceDriver1 = new ReduceDriver<EmitKey, EmitValue, Text, NullWritable>(
        new MaximumSizzleReducerOne());
    reduceDriver1.setInput(new EmitKey("test"), values);
    reduceDriver1.addOutput(new Text("test[] = fourteen weight 1400.0"), NullWritable.get());
    reduceDriver1.runTest();
  }

  @Test
  public void testMaximumAggregatorAllEqual() {
    final List<EmitValue> values = new ArrayList<EmitValue>();
    values.add(new EmitValue("two", 100));
    values.add(new EmitValue("thirteen", 100));
    values.add(new EmitValue("six", 100));
    values.add(new EmitValue("four", 100));
    values.add(new EmitValue("seven", 100));
    values.add(new EmitValue("fourteen", 100));
    values.add(new EmitValue("three", 100));
    values.add(new EmitValue("nine", 100));
    values.add(new EmitValue("one", 100));
    values.add(new EmitValue("twelve", 100));
    values.add(new EmitValue("ten", 100));
    values.add(new EmitValue("eleven", 100));
    values.add(new EmitValue("five", 100));
    values.add(new EmitValue("eight", 100));

    final ReduceDriver<EmitKey, EmitValue, Text, NullWritable> reduceDriver10 = new ReduceDriver<EmitKey, EmitValue, Text, NullWritable>(
        new MaximumSizzleReducerTen());
    reduceDriver10.setInput(new EmitKey("test"), values);
    reduceDriver10.addOutput(new Text("test[] = eight weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = eleven weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = five weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = four weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = fourteen weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = nine weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = one weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = seven weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = six weight 100.0"), NullWritable.get());
    reduceDriver10.addOutput(new Text("test[] = ten weight 100.0"), NullWritable.get());
    reduceDriver10.runTest();

    final ReduceDriver<EmitKey, EmitValue, Text, NullWritable> reduceDriver1 = new ReduceDriver<EmitKey, EmitValue, Text, NullWritable>(
        new MaximumSizzleReducerOne());
    reduceDriver1.setInput(new EmitKey("test"), values);
    reduceDriver1.addOutput(new Text("test[] = eight weight 100.0"), NullWritable.get());
    reduceDriver1.runTest();
  }
}

class MaximumSizzleCombiner extends sizzle.runtime.SizzleCombiner {
  public MaximumSizzleCombiner() {
    super();

    this.tables.put("test", new Table(new sizzle.aggregators.MaximumAggregator(10)));
  }
}

class MaximumSizzleReducerTen extends sizzle.runtime.SizzleReducer {
  public MaximumSizzleReducerTen() {
    super();

    this.tables.put("test", new Table(new sizzle.aggregators.MaximumAggregator(10)));
  }
}

class MaximumSizzleReducerOne extends sizzle.runtime.SizzleReducer {
  public MaximumSizzleReducerOne() {
    super();

    this.tables.put("test", new Table(new sizzle.aggregators.MaximumAggregator(1)));
  }
}
TOP

Related Classes of sizzle.aggregators.MaximumSizzleReducerOne

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.
q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-20639858-1', 'auto'); ga('send', 'pageview');