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 <
|===