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.
- 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]
Extra arguments that needs to be passed to some of the operations like LAST_K, APPROX_PERCENTILE.
Extra arguments that needs to be passed to some of the operations like LAST_K, APPROX_PERCENTILE.
- 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
The column as specified in source.query.selects - on which we need to aggregate with.
The column as specified in source.query.selects - on which we need to aggregate with.
- Annotations
- @Nullable()
-
def
getOperation(): Operation
The type of aggregation that needs to be performed on the inputColumn.
The type of aggregation that needs to be performed on the inputColumn.
- Annotations
- @Nullable()
- See also
Operation
-
def
getWindows(): List[Window]
For TEMPORAL case windows are sawtooth.
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
- 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
Extra arguments that needs to be passed to some of the operations like LAST_K, APPROX_PERCENTILE.
- 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
The column as specified in source.query.selects - on which we need to aggregate with.
- def setInputColumnIsSet(value: Boolean): Unit
-
def
setOperation(operation: Operation): Aggregation
The type of aggregation that needs to be performed on the inputColumn.
The type of aggregation that needs to be performed on the inputColumn.
- See also
Operation
- def setOperationIsSet(value: Boolean): Unit
-
def
setWindows(windows: List[Window]): Aggregation
For TEMPORAL case windows are sawtooth.
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
- 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