public static class Reducer.Builder
extends java.lang.Object
Constructor and Description |
---|
Builder(ReduceOp defaultOp)
Create a Reducer builder, and set the default column reduction operation.
|
Modifier and Type | Method and Description |
---|---|
Reducer |
build() |
Reducer.Builder |
conditionalReduction(java.lang.String column,
java.lang.String outputName,
ReduceOp reduction,
Condition condition)
Conditional reduction: apply the reduce on a specified column, where the reduction occurs *only* on those
examples where the condition returns true.
|
Reducer.Builder |
countColumns(java.lang.String... columns)
Reduce the specified columns by counting the number of values
|
Reducer.Builder |
countUniqueColumns(java.lang.String... columns)
Reduce the specified columns by counting the number of unique values
|
Reducer.Builder |
customReduction(java.lang.String column,
ColumnReduction columnReduction)
Reduce the specified column using a custom column reduction functionality.
|
Reducer.Builder |
keyColumns(java.lang.String... keyColumns)
Specify the key columns.
|
Reducer.Builder |
maxColumn(java.lang.String... columns)
Reduce the specified columns by taking the maximum value
|
Reducer.Builder |
meanColumns(java.lang.String... columns)
Reduce the specified columns by taking the mean of the values
|
Reducer.Builder |
minColumns(java.lang.String... columns)
Reduce the specified columns by taking the minimum value
|
Reducer.Builder |
rangeColumns(java.lang.String... columns)
Reduce the specified columns by taking the range (max-min) of the values
|
Reducer.Builder |
setIgnoreInvalid(java.lang.String... columns)
When doing the reduction: set the specified columns to ignore any invalid values.
|
Reducer.Builder |
stdevColumns(java.lang.String... columns)
Reduce the specified columns by taking the standard deviation of the values
|
Reducer.Builder |
sumColumns(java.lang.String... columns)
Reduce the specified columns by taking the sum of values
|
Reducer.Builder |
takeFirstColumns(java.lang.String... columns)
Reduce the specified columns by taking the first value
|
Reducer.Builder |
takeLastColumns(java.lang.String... columns)
Reduce the specified columns by taking the last value
|
public Builder(ReduceOp defaultOp)
defaultOp
- Default reduction operation to performpublic Reducer.Builder keyColumns(java.lang.String... keyColumns)
keyColumns
- Columns that will make up the keypublic Reducer.Builder minColumns(java.lang.String... columns)
public Reducer.Builder maxColumn(java.lang.String... columns)
public Reducer.Builder sumColumns(java.lang.String... columns)
public Reducer.Builder meanColumns(java.lang.String... columns)
public Reducer.Builder stdevColumns(java.lang.String... columns)
public Reducer.Builder countColumns(java.lang.String... columns)
public Reducer.Builder rangeColumns(java.lang.String... columns)
public Reducer.Builder countUniqueColumns(java.lang.String... columns)
public Reducer.Builder takeFirstColumns(java.lang.String... columns)
public Reducer.Builder takeLastColumns(java.lang.String... columns)
public Reducer.Builder customReduction(java.lang.String column, ColumnReduction columnReduction)
column
- Column to execute the custom reduction functionality oncolumnReduction
- Column reduction to execute on that columnpublic Reducer.Builder conditionalReduction(java.lang.String column, java.lang.String outputName, ReduceOp reduction, Condition condition)
column
- Name of the column to execute the conditional reduction onoutputName
- Name of the column, after the reduction has been executedreduction
- Reduction to executecondition
- Condition to use in the reductionspublic Reducer.Builder setIgnoreInvalid(java.lang.String... columns)
ColumnMetaData.isValid(Writable)
.
For numerical columns, this typically means being unable to parse the Writable. For example, Writable.toLong() failing for a Long column.
If the column has any restrictions (min/max values, regex for Strings etc) these will also be taken into account.columns
- Columns to set 'ignore invalid' forpublic Reducer build()