class Aggregation extends TBase[Aggregation, _Fields] with Serializable with Cloneable with Comparable[Aggregation]
Chronon provides a powerful aggregations primitive - that takes the familiar aggregation operation, via groupBy in SQL and extends it with three things - windowing, bucketing and auto-explode.
:param inputColumn: The column as specified in source.query.selects - on which we need to aggregate with.
:param operation: The type of aggregation that needs to be performed on the inputColumn.
:param argMap: Extra arguments that needs to be passed to some of the operations like LAST_K, APPROX_PERCENTILE.
:param windows: For TEMPORAL case windows are sawtooth. Meaning head slides ahead continuously in time, whereas, the tail only hops ahead, at discrete points in time. Hop is determined by the window size automatically. The maximum hop size is 1/12 of window size. You can specify multiple such windows at once.
Window > 12 days -> Hop Size = 1 day
Window > 12 hours -> Hop Size = 1 hr
Window > 1hr -> Hop Size = 5 minutes
:param buckets: This is an additional layer of aggregation. You can key a group_by by user, and bucket a "item_view" count by "item_category". This will produce one row per user, with column containing map of "item_category" to "view_count". You can specify multiple such buckets at once.
- Annotations
- @SuppressWarnings() @Generated()
- Alphabetic
- By Inheritance
- Aggregation
- Cloneable
- TBase
- Serializable
- TSerializable
- Comparable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
Aggregation(other: Aggregation)
Performs a deep copy on other.
- new Aggregation()
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
- def addToBuckets(elem: String): Unit
- def addToWindows(elem: Window): Unit
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clear(): Unit
- Definition Classes
- Aggregation → TBase
- Annotations
- @Override()
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
compareTo(other: Aggregation): Int
- Definition Classes
- Aggregation → Comparable
- Annotations
- @Override()
-
def
deepCopy(): Aggregation
- Definition Classes
- Aggregation → TBase
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: Aggregation): Boolean
-
def
equals(that: Any): Boolean
- Definition Classes
- Aggregation → AnyRef → Any
- Annotations
- @Override()
-
def
fieldForId(fieldId: Int): _Fields
- Definition Classes
- Aggregation → TBase
- Annotations
- @Nullable()
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getArgMap(): Map[String, String]
- Annotations
- @Nullable()
- def getArgMapSize(): Int
-
def
getBuckets(): List[String]
This is an additional layer of aggregation.
This is an additional layer of aggregation. You can key a group_by by user, and bucket a “item_view” count by “item_category”. This will produce one row per user, with column containing map of “item_category” to “view_count”. You can specify multiple such buckets at once
- Annotations
- @Nullable()
-
def
getBucketsIterator(): Iterator[String]
- Annotations
- @Nullable()
- def getBucketsSize(): Int
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getFieldValue(field: _Fields): AnyRef
- Definition Classes
- Aggregation → TBase
- Annotations
- @Nullable()
-
def
getInputColumn(): String
- Annotations
- @Nullable()
-
def
getOperation(): Operation
- Annotations
- @Nullable()
- See also
Operation
-
def
getWindows(): List[Window]
- Annotations
- @Nullable()
-
def
getWindowsIterator(): Iterator[Window]
- Annotations
- @Nullable()
- def getWindowsSize(): Int
-
def
hashCode(): Int
- Definition Classes
- Aggregation → AnyRef → Any
- Annotations
- @Override()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isSet(field: _Fields): Boolean
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
- Definition Classes
- Aggregation → TBase
-
def
isSetArgMap(): Boolean
Returns true if field argMap is set (has been assigned a value) and false otherwise
-
def
isSetBuckets(): Boolean
Returns true if field buckets is set (has been assigned a value) and false otherwise
-
def
isSetInputColumn(): Boolean
Returns true if field inputColumn is set (has been assigned a value) and false otherwise
-
def
isSetOperation(): Boolean
Returns true if field operation is set (has been assigned a value) and false otherwise
-
def
isSetWindows(): Boolean
Returns true if field windows is set (has been assigned a value) and false otherwise
-
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 putToArgMap(key: String, val: String): Unit
-
def
read(iprot: TProtocol): Unit
- Definition Classes
- Aggregation → TSerializable
- def setArgMap(argMap: Map[String, String]): Aggregation
- def setArgMapIsSet(value: Boolean): Unit
-
def
setBuckets(buckets: List[String]): Aggregation
This is an additional layer of aggregation.
This is an additional layer of aggregation. You can key a group_by by user, and bucket a “item_view” count by “item_category”. This will produce one row per user, with column containing map of “item_category” to “view_count”. You can specify multiple such buckets at once
- def setBucketsIsSet(value: Boolean): Unit
-
def
setFieldValue(field: _Fields, value: Any): Unit
- Definition Classes
- Aggregation → TBase
- def setInputColumn(inputColumn: String): Aggregation
- def setInputColumnIsSet(value: Boolean): Unit
-
def
setOperation(operation: Operation): Aggregation
- See also
Operation
- def setOperationIsSet(value: Boolean): Unit
- def setWindows(windows: List[Window]): Aggregation
- def setWindowsIsSet(value: Boolean): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Aggregation → AnyRef → Any
- Annotations
- @Override()
- def unsetArgMap(): Unit
- def unsetBuckets(): Unit
- def unsetInputColumn(): Unit
- def unsetOperation(): Unit
- def unsetWindows(): Unit
- def validate(): Unit
-
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()
-
def
write(oprot: TProtocol): Unit
- Definition Classes
- Aggregation → TSerializable