c

ai.chronon.api

JoinSource

class JoinSource extends TBase[JoinSource, _Fields] with Serializable with Cloneable with Comparable[JoinSource]

Output of a Join can be used as input to downstream computations like GroupBy or a Join. Below is a short description of each of the cases we handle. Case #1: a join's source is another join [TODO]

  • while serving, we expect the keys for the upstream join to be passed in the request. we will query upstream first, and use the result to query downstream
  • while backfill, we will backfill the upstream first, and use the table as the left of the subsequent join
  • this is currently a "to do" because users can achieve this by themselves unlike case 2: Case #2: a join is the source of another GroupBy
  • We will support arbitrarily long transformation chains with this.
  • for batch (Accuracy.SNAPSHOT), we simply backfill the join first and compute groupBy as usual
    • will substitute the joinSource with the resulting table and continue computation
    • we will add a "resolve source" step prior to backfills that will compute the parent join and update the source
  • for realtime (Accuracy.TEMPORAL), we need to do "stream enrichment"
    • we will simply issue "fetchJoin" and create an enriched source. Note the join left should be of type "events".
Annotations
@SuppressWarnings() @Generated()
Linear Supertypes
Cloneable, TBase[JoinSource, _Fields], Serializable, TSerializable, Comparable[JoinSource], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JoinSource
  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 JoinSource(other: JoinSource)

    Performs a deep copy on other.

  2. new JoinSource()

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clear(): Unit
    Definition Classes
    JoinSource → TBase
    Annotations
    @Override()
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def compareTo(other: JoinSource): Int
    Definition Classes
    JoinSource → Comparable
    Annotations
    @Override()
  8. def deepCopy(): JoinSource
    Definition Classes
    JoinSource → TBase
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(that: JoinSource): Boolean
  11. def equals(that: AnyRef): Boolean
    Definition Classes
    JoinSource → AnyRef → Any
    Annotations
    @Override()
  12. def fieldForId(fieldId: Int): _Fields
    Definition Classes
    JoinSource → TBase
    Annotations
    @Nullable()
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def getFieldValue(field: _Fields): AnyRef
    Definition Classes
    JoinSource → TBase
    Annotations
    @Nullable()
  16. def getJoin(): Join
    Annotations
    @Nullable()
  17. def getQuery(): Query
    Annotations
    @Nullable()
  18. def hashCode(): Int
    Definition Classes
    JoinSource → AnyRef → Any
    Annotations
    @Override()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. 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
    JoinSource → TBase
  21. def isSetJoin(): Boolean

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

  22. def isSetQuery(): Boolean

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

  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. def read(iprot: TProtocol): Unit
    Definition Classes
    JoinSource → TSerializable
  27. def setFieldValue(field: _Fields, value: AnyRef): Unit
    Definition Classes
    JoinSource → TBase
  28. def setJoin(join: Join): JoinSource
  29. def setJoinIsSet(value: Boolean): Unit
  30. def setQuery(query: Query): JoinSource
  31. def setQueryIsSet(value: Boolean): Unit
  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    JoinSource → AnyRef → Any
    Annotations
    @Override()
  34. def unsetJoin(): Unit
  35. def unsetQuery(): Unit
  36. def validate(): Unit
  37. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  40. def write(oprot: TProtocol): Unit
    Definition Classes
    JoinSource → TSerializable

Inherited from Cloneable

Inherited from TBase[JoinSource, _Fields]

Inherited from Serializable

Inherited from TSerializable

Inherited from Comparable[JoinSource]

Inherited from AnyRef

Inherited from Any

Ungrouped