sealed trait StreamingSessionWindowStateManager extends Serializable
- Alphabetic
- By Inheritance
- StreamingSessionWindowStateManager
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def abortIfNeeded(store: StateStore): Unit
Aborts the change.
- abstract def commit(store: StateStore): Long
Commits the change.
- abstract def extractKeyWithoutSession(value: UnsafeRow): UnsafeRow
Extracts the key without session window from the row.
Extracts the key without session window from the row. This can be used to group session windows by key.
- abstract def getNumColsForPrefixKey: Int
Returns the number of columns for
prefix keyin key schema. - abstract def getSessions(store: ReadStateStore, key: UnsafeRow): Iterator[UnsafeRow]
Returns all sessions for the key.
Returns all sessions for the key.
- key
The key without session, which can be retrieved from
extractKeyWithoutSession.
- abstract def getStateKeySchema: StructType
Returns the schema for key of the state.
- abstract def getStateValueSchema: StructType
Returns the schema for value of the state.
- abstract def iterator(store: ReadStateStore): Iterator[UnsafeRow]
Return an iterator containing all the sessions.
Return an iterator containing all the sessions. Implementations must ensure that updates (puts, removes) can be made while iterating over this iterator.
- abstract def newOrModified(store: ReadStateStore, value: UnsafeRow): Boolean
Returns true if the session of the given value doesn't exist in the store, or the value in the session is different to the stored value of the session in the store.
Returns true if the session of the given value doesn't exist in the store, or the value in the session is different to the stored value of the session in the store. This can be used to control the output in UPDATE mode.
- abstract def removeByValueCondition(store: StateStore, removalCondition: (UnsafeRow) => Boolean): Iterator[UnsafeRow]
Removes using a predicate on values, with returning removed values via iterator.
Removes using a predicate on values, with returning removed values via iterator.
At a high level, this produces an iterator over the (key, value, matched) tuples such that value satisfies the predicate, where producing an element removes the value from the state store and producing all elements with a given key updates it accordingly.
This implies the iterator must be consumed fully without any other operations on this manager or the underlying store being interleaved.
- removalCondition
The predicate on removing the key-value.
- abstract def updateSessions(store: StateStore, key: UnsafeRow, sessions: Seq[UnsafeRow]): (Long, Long)
Replaces all sessions for the key to given one.
Replaces all sessions for the key to given one.
- key
The key without session, which can be retrieved from
extractKeyWithoutSession.- sessions
The all sessions including existing sessions if it's active. Existing sessions which aren't included in this parameter will be removed.
- returns
A tuple having two elements
- number of added/updated rows 2. number of deleted rows
Concrete 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 clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- 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 hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()