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() @IntrinsicCandidate()
  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. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  14. def getFieldValue(field: _Fields): AnyRef
    Definition Classes
    JoinSource → TBase
    Annotations
    @Nullable()
  15. def getJoin(): Join
    Annotations
    @Nullable()
  16. def getQuery(): Query
    Annotations
    @Nullable()
  17. def hashCode(): Int
    Definition Classes
    JoinSource → AnyRef → Any
    Annotations
    @Override()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. 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
  20. def isSetJoin(): Boolean

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

  21. def isSetQuery(): Boolean

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

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

Inherited from Serializable

Inherited from TSerializable

Inherited from Comparable[JoinSource]

Inherited from AnyRef

Inherited from Any

Ungrouped