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
- All
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( ... ) @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: Any): 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[_]
- 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: Any): 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( ... )
-
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
- JoinSource → TSerializable