Class

ksb.csle.component.pipe.stream.operator

StreamJoinOperator

Related Doc: package operator

Permalink

class StreamJoinOperator[T] extends BaseJoinPipeOperator[DataFrame, StreamPipeOperatorInfo, SparkSession]

:: ApplicationDeveloperApi ::

Operator that joins selected join columns by key with multiple dataframes and groups joined records by group-by key.

Linear Supertypes
BaseJoinPipeOperator[DataFrame, StreamPipeOperatorInfo, SparkSession], BaseGenericPipeOperator[Seq[(Any) ⇒ DataFrame], Seq[DataFrame], DataFrame, StreamPipeOperatorInfo, SparkSession], BaseGenericMutantOperator[StreamPipeOperatorInfo, Seq[(Any) ⇒ DataFrame], (Seq[DataFrame]) ⇒ DataFrame], BaseDoer, Logging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StreamJoinOperator
  2. BaseJoinPipeOperator
  3. BaseGenericPipeOperator
  4. BaseGenericMutantOperator
  5. BaseDoer
  6. Logging
  7. Serializable
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StreamJoinOperator(o: StreamPipeOperatorInfo, s: SparkSession)

    Permalink

    o

    Object that contains message JoinPipeInfo JoinPipeInfo contains attributes as follows:

    • key: join key (required)
    • joinColumns: columns to join (required)
    • joinType: Type of join (optional)
    • GroupbyPipeInfo contains attributes as follows:
      • timeColName: Column name containing time information (optional)
      • keyColName: A list of column names to be used as group by keys (required)
      • valColName: A list of column name to be used as a value columns (required)
      • groupby: Method for aggregation. (required)
      • window: Window information including key, time window length, and sliding interval.

    JoinPipeInfo

    message JoinPipeInfo {
    required string key = 1;
    repeated string joinColumns = 2;
    optional JoinType joinType = 3 [default = INNER];
    optional GroupbyPipeInfo groupBy = 7;
    }

    JoinType

    enum JoinType {
    INNER = 0;
    LEFT_OUTER = 1;
    RIGHT_OUTER = 2;
    }

    GroupbyPipeInfo

    message GroupbyPipeInfo {
     optional string timeColName = 3;
     repeated string keyColName = 4;
     repeated string valColName = 5;
     enum GroupbyOp {
       SUM = 0;
       COUNT = 1;
       AVG = 2;
       MIN = 3;
       MAX = 4;
     }
     required GroupbyOp groupby = 6;
     optional Window window = 7;
    }

    Window

    message Window {
    required string key = 1;
    required string windowLength = 2;
    required string slidingInterval = 3;
    }

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. def operate(df: Seq[(Any) ⇒ DataFrame]): (Seq[DataFrame]) ⇒ DataFrame

    Permalink

    Joins multiple dataframe by key.

    Joins multiple dataframe by key.

    df

    Input function pipe

    returns

    output function pipe

    Definition Classes
    StreamJoinOperator → BaseJoinPipeOperator → BaseGenericPipeOperator → BaseGenericMutantOperator
  17. val p: JoinPipeInfo

    Permalink
  18. def stop: Unit

    Permalink
    Definition Classes
    BaseJoinPipeOperator → BaseGenericPipeOperator → BaseGenericMutantOperator
    Annotations
    @DeveloperApi()
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from BaseJoinPipeOperator[DataFrame, StreamPipeOperatorInfo, SparkSession]

Inherited from BaseGenericPipeOperator[Seq[(Any) ⇒ DataFrame], Seq[DataFrame], DataFrame, StreamPipeOperatorInfo, SparkSession]

Inherited from BaseGenericMutantOperator[StreamPipeOperatorInfo, Seq[(Any) ⇒ DataFrame], (Seq[DataFrame]) ⇒ DataFrame]

Inherited from BaseDoer

Inherited from Logging

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped