abstract class AggregationWithDeaggBase extends AggregationSpec
Base class for aggregation functions that support the deagg operation (e.g. Sum/Avg). This class provides common functionality to keep track of a running count aggregation while performing the implemented aggregation type. Keeping track of the running count is important in order to identify when all records have been deagged out so the aggregate value can be properly reset. This is important to maintain current expectation where aggregate value is null when there are no records to aggregate together and to prevent floating point rounding errors causing the deagged aggregate value to be infinitesimally small instead of equal to zero. This class abstracts way the management of the count aggregation column so child classes only have to worry about implementing the aggregation function for the value column.
- Alphabetic
- By Inheritance
- AggregationWithDeaggBase
- AggregationSpec
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new AggregationWithDeaggBase()
Abstract Value Members
-
abstract
def
aggValue(aggregate: Any, valueRecord: Any, valueDataType: DataType): Any
Analogous to AggregationSpec.agg(), we aggregate the parsed value record to the intermediate aggregate value
Analogous to AggregationSpec.agg(), we aggregate the parsed value record to the intermediate aggregate value
- aggregate
The intermediate aggregate value
- valueRecord
Parsed value record to aggregate
- valueDataType
The value record datatype
- returns
The result of aggregating the value record to the intermediate aggregate value
-
abstract
def
aggregation: AggregationType
<invalid inheritdoc annotation>
<invalid inheritdoc annotation>
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
abstract
def
countCol: String
Name of the column that keeps track of the count which is required for all aggregation functions that support deagg in order to identify when all records have been deagged out
-
abstract
def
deaggValue(aggregate: Any, valueRecord: Any, valueDataType: DataType): Any
Analogous to AggregationSpec.deagg(), we deagg the parsed value record from the intermediate aggregate value
Analogous to AggregationSpec.deagg(), we deagg the parsed value record from the intermediate aggregate value
- aggregate
The intermediate aggregate value
- valueRecord
Parsed value record to deagg
- valueDataType
The value record datatype
- returns
The result of deagging the value record from the intermediate aggregate value
-
abstract
def
metricName: String
<invalid inheritdoc annotation>
<invalid inheritdoc annotation>
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
abstract
def
valueCol: String
Name of the metric column or a Spark SQL column expression for derived metric that will be aggregated
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val CountAggregate: CountAggregate
-
def
agg(aggregate: Any, record: Any, dataType: DataType): Any
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
calculateAggregate(aggregate: Any, dataType: DataType): Any
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
def
calculateAggregateWithCount(aggregate: Any, valueDataType: DataType, count: Any, countDataType: DataType): Any
Analogous to AggregationSpec.calculateAggregate(), perform an additional step to calculate the final aggregate value.
Analogous to AggregationSpec.calculateAggregate(), perform an additional step to calculate the final aggregate value. This method has access to the current running count if needed for the calculation (e.g. AVG). Default implementation is to return the aggregate value as is.
- aggregate
The intermediate aggregate value
- valueDataType
The value record datatype
- count
The intermediate count value
- countDataType
The count record datatype
- returns
The calculated aggregate value
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
deagg(aggregate: Any, record: Any, dataType: DataType): Any
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
isCalculateAggregateNeeded: Boolean
- Definition Classes
- AggregationSpec
-
def
isIncrementalAgg: Boolean
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
metricCol: String
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
updateAggDataType(featureColumnMetaData: FeatureColumnMetaData): Unit
- Definition Classes
- AggregationWithDeaggBase → AggregationSpec
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()