org.checkita.dqf.core.metrics.df.regular.MultiColumnDFMetrics
MultiColumnConditionalDFCalculator
abstract class MultiColumnConditionalDFCalculator extends DFMetricCalculator with ReversibleDFCalculator
Abstract class for conditional multi-column DF metric calculators. Specific of multi-column conditional metrics is that metric condition is a function of all input columns and need to be applied to all of them at once. Unlike for columns which can work with arbitrary number of columns where metric condition is applied to each of the input column separately.
All conditional metrics are reversible: direct error collection logic implies metric increment fails when condition is not met. Correspondingly, for reversed error collection logic, metric increment fails when condition IS met.
- Alphabetic
- By Inheritance
- MultiColumnConditionalDFCalculator
- ReversibleDFCalculator
- DFMetricCalculator
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new MultiColumnConditionalDFCalculator()
Abstract Value Members
-
abstract
val
columns: Seq[String]
- Definition Classes
- DFMetricCalculator
-
abstract
def
errorMessage: String
Error message that will be returned when metric increment fails.
Error message that will be returned when metric increment fails.
- returns
Metric increment failure message.
- Definition Classes
- DFMetricCalculator
-
abstract
def
metricCondExpr: Column
Create spark expression which checks if metric condition applied to multiple columns is met.
Create spark expression which checks if metric condition applied to multiple columns is met.
- Attributes
- protected
-
abstract
val
metricId: String
Unlike RDD calculators, DF calculators are not groped by its type.
Unlike RDD calculators, DF calculators are not groped by its type. For each metric defined in DQ job, there will be created its own instance of DF calculator. Thus, DF metric calculators can be linked to metric definitions by metricId.
- Definition Classes
- DFMetricCalculator
-
abstract
val
metricName: MetricName
- Definition Classes
- DFMetricCalculator
-
abstract
val
reversed: Boolean
- Attributes
- protected
- Definition Classes
- ReversibleDFCalculator
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
emptyValue: Column
Value which is returned when metric result is null.
Value which is returned when metric result is null.
- Attributes
- protected
- Definition Classes
- MultiColumnConditionalDFCalculator → DFMetricCalculator
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
errorConditionExpr(implicit colTypes: Map[String, DataType]): Column
Spark expression yielding boolean result for processed row.
Spark expression yielding boolean result for processed row. Indicates whether metric increment failed or not.
- colTypes
Map of column names to their datatype.
- returns
Spark row-level expression yielding boolean result.
- Attributes
- protected
- Definition Classes
- MultiColumnConditionalDFCalculator → DFMetricCalculator
-
def
errorExpr(rowData: Column)(implicit colTypes: Map[String, DataType]): Column
Error collection expression: collects row data in case of metric error.
Error collection expression: collects row data in case of metric error.
- rowData
Array of row data from columns related to this metric calculator (source keyFields + metric columns + window start time column for streaming applications)
- colTypes
Map of column names to their datatype.
- returns
Spark expression that will yield row data in case of metric error.
- Attributes
- protected
- Definition Classes
- DFMetricCalculator
-
def
errors(implicit errorDumpSize: Int, keyFields: Seq[String], colTypes: Map[String, DataType]): Column
Final metric errors aggregation expression.
Final metric errors aggregation expression. Collects all metric errors into an array column. The size of array is limited by maximum allowed error dump size parameter.
- errorDumpSize
Maximum allowed number of errors to be collected per single metric.
- keyFields
Sequence of source/stream key fields.
- colTypes
Map of column names to their datatype.
- returns
Spark expression that will yield array of metric errors.
- Definition Classes
- DFMetricCalculator
-
val
errorsCol: String
Name of the column that will store metric errors
Name of the column that will store metric errors
- Definition Classes
- DFMetricCalculator
-
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()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
-
def
result(implicit colTypes: Map[String, DataType]): Column
Final metric aggregation expression that MUST yield double value.
Final metric aggregation expression that MUST yield double value.
- colTypes
Map of column names to their datatype.
- returns
Spark expression that will yield double metric calculator result
- Definition Classes
- DFMetricCalculator
-
val
resultAggregateFunction: (Column) ⇒ Column
Aggregation function for all conditional metrics is just a summation.
Aggregation function for all conditional metrics is just a summation.
- Attributes
- protected
- Definition Classes
- MultiColumnConditionalDFCalculator → DFMetricCalculator
-
val
resultCol: String
Name of the column that will store metric result
Name of the column that will store metric result
- Definition Classes
- DFMetricCalculator
-
def
resultExpr(implicit colTypes: Map[String, DataType]): Column
Spark expression yielding numeric result for processed row.
Spark expression yielding numeric result for processed row. Metric will be incremented with this result using associated aggregation function.
- colTypes
Map of column names to their datatype.
- returns
Spark row-level expression yielding numeric result.
- Attributes
- protected
- Definition Classes
- MultiColumnConditionalDFCalculator → DFMetricCalculator
- Note
Spark expression MUST process single row but not aggregate multiple rows.
-
def
rowDataExpr(keyFields: Seq[String]): Column
Row data collection expression: collects values of selected columns to array for row where metric error occurred.
Row data collection expression: collects values of selected columns to array for row where metric error occurred.
- keyFields
Sequence of source/stream key fields.
- returns
Spark expression that will yield array of row data for column related to this metric calculator.
- Attributes
- protected
- Definition Classes
- DFMetricCalculator
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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()