read_statestore
テーブル値関数
適用対象: Databricks SQL Databricks Runtime 14.3 以上
重要
この機能はパブリック プレビュー段階にあります。
ストリーミング クエリの "状態ストア" からレコードを読み取るためのテーブル値関数。 返される関係は、バッチ クエリとしての実行のみをサポートします。
構文
read_statestore ( path [, option_key => option_value ] [ ... ] )
引数
read_statestore
には、省略可能なパラメーターに対して名前付きパラメーター呼び出しが必要です。
path
:STRING literal
。 ストリーミング クエリ チェックポイントの場所のパス。option_key
: 構成するオプションの名前。 ドット (.) を含むオプションには、バッククウォート (`) を使う必要があります。option_value
: オプションを設定する定数式。 リテラルとスカラー関数を受け入れます。
すべての option_value
は、大文字と小文字が区別されません。
option_key | Type | Default | 説明 |
---|---|---|---|
batchId |
BIGINT |
最新のバッチ ID | 読み取り対象のバッチを表します。 このオプションは、ユーザーがタイムトラベルを実行する場合に使われます。 バッチはコミットする必要がありますが、まだクリーンアップしないでください。 |
OperatorId |
BIGINT |
0 | 読み取り対象の演算子を表します。 このオプションは、クエリで複数のステートフル演算子が使っている場合に使われます。 |
storeName |
STRING |
'DEFAULT' |
読み取り対象のサイドを表します。 このオプションは、ユーザーがストリーム - ストリーム結合から状態を読み取りたい場合に使われます。 |
joinSide |
STRING |
'None' |
読み取り対象のサイドを表します。 このオプションは、ユーザーがストリーム - ストリーム結合から状態を読み取りたい場合に使われます。 'Left' 、'Right' 、'None' のいずれかです。 |
返品
この関数は、次の列を含む結果セットを返します。
Note
キーと値の入れ子になった列は、ステートフル演算子の入力スキーマと演算子の種類によって大きく変わります。
名前 | データ型 | Nullable | Standard | 説明 |
---|---|---|---|---|
id |
STRUCT |
いいえ | 状態チェックポイントに格納されているステートフル演算子のキー行。 | |
value |
STRUCT |
はい | 状態チェックポイントに格納されているステートフル演算子の値行。 | |
partition_id |
INTEGER |
いいえ | レコードを含むパーティション。 | |
shardId |
STRING |
いいえ | データ読み取り元のシャードの一意識別子。 | |
sequenceNumber |
BIGINT |
いいえ | シャード内のレコードの一意識別子。 | |
approximateArrivalTimestamp |
TIMESTAMP |
いいえ | ストリームへのおおよそのレコード挿入時間。 |
例
- Read from state
> SELECT * FROM read_statestore('/checkpoint/path');
– Read from state with storeName option
> SELECT * FROM read_statestore(
'/checkpoint/path',
operatorId => 0,
batchId => 2,
storeName => 'default'
);
– Read from state with joinSide option
> SELECT * FROM read_statestore(
'/checkpoint/path',
joinSide => 'left'
);