c

ai.chronon.api

Aggregation

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()
Linear Supertypes
Cloneable, TBase[Aggregation, _Fields], Serializable, TSerializable, Comparable[Aggregation], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Aggregation
  2. Cloneable
  3. TBase
  4. Serializable
  5. TSerializable
  6. Comparable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Aggregation(other: Aggregation)

    Performs a deep copy on other.

  2. new Aggregation()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addToBuckets(elem: String): Unit
  5. def addToWindows(elem: Window): Unit
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clear(): Unit
    Definition Classes
    Aggregation → TBase
    Annotations
    @Override()
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  9. def compareTo(other: Aggregation): Int
    Definition Classes
    Aggregation → Comparable
    Annotations
    @Override()
  10. def deepCopy(): Aggregation
    Definition Classes
    Aggregation → TBase
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(that: Aggregation): Boolean
  13. def equals(that: AnyRef): Boolean
    Definition Classes
    Aggregation → AnyRef → Any
    Annotations
    @Override()
  14. def fieldForId(fieldId: Int): _Fields
    Definition Classes
    Aggregation → TBase
    Annotations
    @Nullable()
  15. 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()
  16. def getArgMapSize(): Int
  17. 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()
  18. def getBucketsIterator(): Iterator[String]
    Annotations
    @Nullable()
  19. def getBucketsSize(): Int
  20. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  21. def getFieldValue(field: _Fields): AnyRef
    Definition Classes
    Aggregation → TBase
    Annotations
    @Nullable()
  22. 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()
  23. 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

  24. 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()
  25. def getWindowsIterator(): Iterator[Window]
    Annotations
    @Nullable()
  26. def getWindowsSize(): Int
  27. def hashCode(): Int
    Definition Classes
    Aggregation → AnyRef → Any
    Annotations
    @Override()
  28. def isElementWise(): Boolean

    When set to true and inputColumn is an array/list type, applies the operation element-wise across the arrays.

    When set to true and inputColumn is an array/list type, applies the operation element-wise across the arrays. For example, AVERAGE with elementWise=true on [4,5,6 produces [2.5, 3.5, 4.5]. This allows any operation (SUM, AVERAGE, MAX, MIN, etc.) to work on list.

  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. 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
  31. def isSetArgMap(): Boolean

    Returns true if field argMap is set (has been assigned a value) and false otherwise

  32. def isSetBuckets(): Boolean

    Returns true if field buckets is set (has been assigned a value) and false otherwise

  33. def isSetElementWise(): Boolean

    Returns true if field elementWise is set (has been assigned a value) and false otherwise

  34. def isSetInputColumn(): Boolean

    Returns true if field inputColumn is set (has been assigned a value) and false otherwise

  35. def isSetOperation(): Boolean

    Returns true if field operation is set (has been assigned a value) and false otherwise

  36. def isSetWindows(): Boolean

    Returns true if field windows is set (has been assigned a value) and false otherwise

  37. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  40. def putToArgMap(key: String, val: String): Unit
  41. def read(iprot: TProtocol): Unit
    Definition Classes
    Aggregation → TSerializable
  42. def setArgMap(argMap: Map[String, String]): Aggregation

    Extra arguments that needs to be passed to some of the operations like LAST_K, APPROX_PERCENTILE.

  43. def setArgMapIsSet(value: Boolean): Unit
  44. 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

  45. def setBucketsIsSet(value: Boolean): Unit
  46. def setElementWise(elementWise: Boolean): Aggregation

    When set to true and inputColumn is an array/list type, applies the operation element-wise across the arrays.

    When set to true and inputColumn is an array/list type, applies the operation element-wise across the arrays. For example, AVERAGE with elementWise=true on [4,5,6 produces [2.5, 3.5, 4.5]. This allows any operation (SUM, AVERAGE, MAX, MIN, etc.) to work on list.

  47. def setElementWiseIsSet(value: Boolean): Unit
  48. def setFieldValue(field: _Fields, value: AnyRef): Unit
    Definition Classes
    Aggregation → TBase
  49. def setInputColumn(inputColumn: String): Aggregation

    The column as specified in source.query.selects - on which we need to aggregate with.

  50. def setInputColumnIsSet(value: Boolean): Unit
  51. 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

  52. def setOperationIsSet(value: Boolean): Unit
  53. 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
  54. def setWindowsIsSet(value: Boolean): Unit
  55. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  56. def toString(): String
    Definition Classes
    Aggregation → AnyRef → Any
    Annotations
    @Override()
  57. def unsetArgMap(): Unit
  58. def unsetBuckets(): Unit
  59. def unsetElementWise(): Unit
  60. def unsetInputColumn(): Unit
  61. def unsetOperation(): Unit
  62. def unsetWindows(): Unit
  63. def validate(): Unit
  64. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  65. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  66. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  67. def write(oprot: TProtocol): Unit
    Definition Classes
    Aggregation → TSerializable

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Cloneable

Inherited from TBase[Aggregation, _Fields]

Inherited from Serializable

Inherited from TSerializable

Inherited from Comparable[Aggregation]

Inherited from AnyRef

Inherited from Any

Ungrouped