trait StateStore extends ReadStateStore
Base trait for a versioned key-value store which provides both read and write operations. Each
instance of a StateStore represents a specific version of state data, and such instances are
created through a StateStoreProvider.
Unlike ReadStateStore, abort method may not be called if the commit method succeeds
to commit the change. (hasCommitted returns true.) Otherwise, abort method will be called.
Implementation should deal with resource cleanup in both methods, and also need to guard with
double resource cleanup.
- Alphabetic
- By Inheritance
- StateStore
- ReadStateStore
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def abort(): Unit
Abort all the updates that have been made to the store.
Abort all the updates that have been made to the store. Implementations should ensure that no more updates (puts, removes) can be after an abort in order to avoid incorrect usage.
- Definition Classes
- StateStore → ReadStateStore
- abstract def commit(): Long
Commit all the updates that have been made to the store, and return the new version.
Commit all the updates that have been made to the store, and return the new version. Implementations should ensure that no more updates (puts, removes) can be after a commit in order to avoid incorrect usage.
- abstract def get(key: UnsafeRow): UnsafeRow
Get the current value of a non-null key.
Get the current value of a non-null key.
- returns
a non-null row if the key exists in the store, otherwise null.
- Definition Classes
- ReadStateStore
- abstract def hasCommitted: Boolean
Whether all updates have been committed
- abstract def id: StateStoreId
Unique identifier of the store
Unique identifier of the store
- Definition Classes
- ReadStateStore
- abstract def iterator(): Iterator[UnsafeRowPair]
Return an iterator containing all the key-value pairs in the StateStore.
Return an iterator containing all the key-value pairs in the StateStore. Implementations must ensure that updates (puts, removes) can be made while iterating over this iterator.
It is not required for implementations to ensure the iterator reflects all updates being performed after initialization of the iterator. Callers should perform all updates before calling this method if all updates should be visible in the returned iterator.
- Definition Classes
- StateStore → ReadStateStore
- abstract def metrics: StateStoreMetrics
Current metrics of the state store
- abstract def prefixScan(prefixKey: UnsafeRow): Iterator[UnsafeRowPair]
Return an iterator containing all the key-value pairs which are matched with the given prefix key.
Return an iterator containing all the key-value pairs which are matched with the given prefix key.
The operator will provide numColsPrefixKey greater than 0 in StateStoreProvider.init method if the operator needs to leverage the "prefix scan" feature. The schema of the prefix key should be same with the leftmost
numColsPrefixKeycolumns of the key schema.It is expected to throw exception if Spark calls this method without setting numColsPrefixKey to the greater than 0.
- Definition Classes
- ReadStateStore
- abstract def put(key: UnsafeRow, value: UnsafeRow): Unit
Put a new non-null value for a non-null key.
Put a new non-null value for a non-null key. Implementations must be aware that the UnsafeRows in the params can be reused, and must make copies of the data as needed for persistence.
- abstract def remove(key: UnsafeRow): Unit
Remove a single non-null key.
- abstract def version: Long
Version of the data in this store before committing updates.
Version of the data in this store before committing updates.
- Definition Classes
- ReadStateStore
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()