public class CollapsingReducer extends ObjectReducer implements DateRangeConfigurable, java.io.Serializable
AbstractPartitionCollapsingIncrementalJob
and its derived classes.
An implementation of Accumulator
is used to perform aggregation and produce the
output value.
Modifier and Type | Field and Description |
---|---|
protected long |
_beginTime |
protected long |
_endTime |
Constructor and Description |
---|
CollapsingReducer() |
Modifier and Type | Method and Description |
---|---|
Accumulator<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> |
getNewAccumulator() |
Accumulator<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> |
getOldAccumulator() |
boolean |
getReuseOutput()
Gets whether previous output is being reused.
|
void |
reduce(java.lang.Object keyObj,
java.lang.Iterable<java.lang.Object> values,
org.apache.hadoop.mapreduce.ReduceContext<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object> context) |
void |
setAccumulator(Accumulator<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> acc) |
void |
setOldRecordMerger(Merger<org.apache.avro.generic.GenericRecord> merger) |
void |
setOutputDateRange(DateRange dateRange)
Sets the date range for the output.
|
void |
setRecordMerger(Merger<org.apache.avro.generic.GenericRecord> merger) |
void |
setReuseOutput(boolean reuseOutput)
Sets whether previous output is being reused.
|
void |
setSchemas(PartitionCollapsingSchemas schemas)
Sets the Avro schemas.
|
close, getContext, setContext
public void reduce(java.lang.Object keyObj, java.lang.Iterable<java.lang.Object> values, org.apache.hadoop.mapreduce.ReduceContext<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object> context) throws java.io.IOException, java.lang.InterruptedException
reduce
in class ObjectReducer
java.io.IOException
java.lang.InterruptedException
public void setSchemas(PartitionCollapsingSchemas schemas)
schemas
- the schemaspublic boolean getReuseOutput()
public void setReuseOutput(boolean reuseOutput)
reuseOutput
- true if previous output is reusedpublic void setAccumulator(Accumulator<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> acc)
public Accumulator<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> getNewAccumulator()
public Accumulator<org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> getOldAccumulator()
public void setRecordMerger(Merger<org.apache.avro.generic.GenericRecord> merger)
public void setOldRecordMerger(Merger<org.apache.avro.generic.GenericRecord> merger)
public void setOutputDateRange(DateRange dateRange)
DateRangeConfigurable
setOutputDateRange
in interface DateRangeConfigurable
dateRange
- output date range