KeyWithIndexToValueStore¶
KeyWithIndexToValueStore is a StateStoreHandler (of KeyWithIndexToValueType) for SymmetricHashJoinStateManager to manage a <
.KeyToNumValuesStore, KeyWithIndexToValueStore and Stream-Stream Join image::images/KeyToNumValuesStore-KeyWithIndexToValueStore.png[align="center"]
[[stateStore]] As a StateStoreHandler, KeyWithIndexToValueStore manages a state store (that is loaded) for keys and values per the <
[[keyWithIndexSchema]] KeyWithIndexToValueStore uses a schema (for the <SymmetricHashJoinStateManager) with an extra field index of type long.
[[logging]] [TIP] ==== Enable ALL logging level for org.apache.spark.sql.execution.streaming.state.SymmetricHashJoinStateManager$KeyWithIndexToValueStore to see what happens inside.
Add the following line to conf/log4j.properties:
log4j.logger.org.apache.spark.sql.execution.streaming.state.SymmetricHashJoinStateManager$KeyWithIndexToValueStore=ALL
Refer to <>.¶
=== [[get]] Looking Up State Row For Given Key and Index -- get Method
[source, scala]¶
get( key: UnsafeRow, valueIndex: Long): UnsafeRow
get simply requests the internal state store to look up the value for the given <
get is used when SymmetricHashJoinStateManager is requested to removeByValueCondition.
=== [[getAll]] Retrieving (Given Number of) Values for Key -- getAll Method
[source, scala]¶
getAll( key: UnsafeRow, numValues: Long): Iterator[KeyWithIndexAndValue]
getAll...FIXME
getAll is used when SymmetricHashJoinStateManager is requested to get values for a given key and removeByKeyCondition.
=== [[put]] Storing State Row For Given Key and Index -- put Method
[source, scala]¶
put( key: UnsafeRow, valueIndex: Long, value: UnsafeRow): Unit
put...FIXME
put is used when SymmetricHashJoinStateManager is requested to append a new value to a given key and removeByKeyCondition.
=== [[remove]] remove Method
[source, scala]¶
remove( key: UnsafeRow, valueIndex: Long): Unit
remove...FIXME
remove is used when SymmetricHashJoinStateManager is requested to removeByKeyCondition and removeByValueCondition.
=== [[keyWithIndexRow]] keyWithIndexRow Internal Method
[source, scala]¶
keyWithIndexRow( key: UnsafeRow, valueIndex: Long): UnsafeRow
keyWithIndexRow uses the <UnsafeRow for the key and sets the valueIndex at the <
NOTE: keyWithIndexRow is used when KeyWithIndexToValueStore is requested to <
=== [[removeAllValues]] removeAllValues Method
[source, scala]¶
removeAllValues( key: UnsafeRow, numValues: Long): Unit
removeAllValues...FIXME
NOTE: removeAllValues does not seem to be used at all.
=== [[iterator]] iterator Method
[source, scala]¶
iterator: Iterator[KeyWithIndexAndValue]¶
iterator...FIXME
NOTE: iterator does not seem to be used at all.
Internal Properties¶
[cols="30m,70",options="header",width="100%"] |=== | Name | Description
| indexOrdinalInKeyWithIndexRow a| [[indexOrdinalInKeyWithIndexRow]] Position of the index in the key row (which corresponds to the number of the key attributes)
Used exclusively in the <
| keyWithIndexExprs a| [[keyWithIndexExprs]] keyAttributes with Literal(1L) expression appended
Used exclusively for the <
| keyWithIndexRowGenerator a| [[keyWithIndexRowGenerator]] UnsafeProjection for the <
Used exclusively in <
|===