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
Ordering
- Alphabetic
- By Inheritance
Inherited
- JoinSource
- Cloneable
- TBase
- Serializable
- TSerializable
- Comparable
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new JoinSource(other: JoinSource)
Performs a deep copy on other.
- new JoinSource()
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clear(): Unit
- Definition Classes
- JoinSource → TBase
- Annotations
- @Override()
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compareTo(other: JoinSource): Int
- Definition Classes
- JoinSource → Comparable
- Annotations
- @Override()
- def deepCopy(): JoinSource
- Definition Classes
- JoinSource → TBase
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: JoinSource): Boolean
- def equals(that: AnyRef): Boolean
- Definition Classes
- JoinSource → AnyRef → Any
- Annotations
- @Override()
- def fieldForId(fieldId: Int): _Fields
- Definition Classes
- JoinSource → TBase
- Annotations
- @Nullable()
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getFieldValue(field: _Fields): AnyRef
- Definition Classes
- JoinSource → TBase
- Annotations
- @Nullable()
- def getJoin(): Join
- Annotations
- @Nullable()
- def getQuery(): Query
- Annotations
- @Nullable()
- def hashCode(): Int
- Definition Classes
- JoinSource → 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
- JoinSource → TBase
- def isSetJoin(): Boolean
Returns true if field join is set (has been assigned a value) and false otherwise
- def isSetQuery(): Boolean
Returns true if field query 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 read(iprot: TProtocol): Unit
- Definition Classes
- JoinSource → TSerializable
- def setFieldValue(field: _Fields, value: AnyRef): Unit
- Definition Classes
- JoinSource → TBase
- def setJoin(join: Join): JoinSource
- def setJoinIsSet(value: Boolean): Unit
- def setQuery(query: Query): JoinSource
- def setQueryIsSet(value: Boolean): Unit
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- JoinSource → AnyRef → Any
- Annotations
- @Override()
- def unsetJoin(): Unit
- def unsetQuery(): Unit
- def validate(): Unit
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def write(oprot: TProtocol): Unit
- Definition Classes
- JoinSource → TSerializable