createForStreaming[S](
optionalValue: Option[S],
batchProcessingTimeMs: Long,
eventTimeWatermarkMs: Long,
timeoutConf: GroupStateTimeout,
hasTimedOut: Boolean,
watermarkPresent: Boolean): GroupStateImpl[S]
GroupStateImpl
GroupStateImpl
is the default and only known GroupState in Spark Structured Streaming.
GroupStateImpl
holds per-group state value of type S
per group key.
GroupStateImpl
is created when GroupStateImpl
helper object is requested for the following:
Creating GroupStateImpl Instance
GroupStateImpl
takes the following to be created:
GroupStateImpl
initializes the internal properties.
Creating GroupStateImpl for Streaming Query — createForStreaming
Factory Method
createForStreaming
simply creates a new GroupStateImpl with the given input arguments.
Note
|
createForStreaming is used exclusively when InputProcessor is requested to callFunctionAndUpdateState (when InputProcessor is requested to processNewData and processTimedOutState).
|
Creating GroupStateImpl for Batch Query — createForBatch
Factory Method
createForBatch(
timeoutConf: GroupStateTimeout,
watermarkPresent: Boolean): GroupStateImpl[Any]
createForBatch
…FIXME
Note
|
createForBatch is used when…FIXME
|
Textual Representation — toString
Method
toString: String
Note
|
toString is part of the java.lang.Object contract for the string representation of the object.
|
toString
…FIXME
Specifying Timeout Duration for ProcessingTimeTimeout — setTimeoutDuration
Method
setTimeoutDuration(durationMs: Long): Unit
Note
|
setTimeoutDuration is part of the GroupState Contract to specify timeout duration for the state key (in millis or as a string).
|
setTimeoutDuration
…FIXME
Specifying Timeout Timestamp for EventTimeTimeout — setTimeoutTimestamp
Method
setTimeoutTimestamp(durationMs: Long): Unit
Note
|
setTimeoutTimestamp is part of the GroupState Contract to specify timeout timestamp for the state key.
|
setTimeoutTimestamp
…FIXME
Getting Processing Time — getCurrentProcessingTimeMs
Method
getCurrentProcessingTimeMs(): Long
Note
|
getCurrentProcessingTimeMs is part of the GroupState Contract to get the current processing time (as milliseconds in epoch time).
|
getCurrentProcessingTimeMs
simply returns the batchProcessingTimeMs.
Updating State — update
Method
update(newValue: S): Unit
Note
|
update is part of the GroupState Contract to update the state.
|
update
…FIXME
Removing State — remove
Method
remove(): Unit
Note
|
remove is part of the GroupState Contract to remove the state.
|
remove
…FIXME
Internal Properties
Name | Description |
---|---|
|
|
|
|
|
Updated flag that says whether the state has been updated or not Default: Disabled ( Enabled ( |
|
Removed flag that says whether the state is marked removed or not Default: Disabled ( Enabled ( |
|
Current timeout timestamp (in millis) for GroupStateTimeout.EventTimeTimeout or GroupStateTimeout.ProcessingTimeTimeout Defined using setTimeoutTimestamp (for |