read_statestore
table-valued 的函式
適用於: Databricks SQL Databricks Runtime 14.3 和更新版本
重要
這項功能處於公開預覽狀態。
table 值函數,用於從串流查詢的 狀態存放區 讀取記錄。 傳回的關聯只支援以批次查詢的形式執行。
語法
read_statestore ( path [, option_key => option_value ] [ ... ] )
引數
read_statestore
需要 以具名參數調用,來達成其可選的 parameters。
-
path
:STRING literal
。 串流查詢檢查點位置的路徑。 -
option_key
:要設定的選項名稱。 您必須針對包含點 (..) 的選項使用反引號 (')。 -
option_value
:用於 set 選項的常數表達式。 接受常值和純量函式。
所有 都是 option_value
不區分大小寫的。
option_key | 類型 | 預設 | 描述 |
---|---|---|---|
batchId |
BIGINT |
最新批次標識碼 | 表示要從中讀取的目標批次。 當使用者想要執行時間移動時,會使用此選項。 批次應該認可,但尚未清除。 |
OperatorId |
BIGINT |
0 | 表示要從中讀取的目標運算子。 當查詢使用多個具狀態運算子時,會使用此選項。 |
storeName |
STRING |
'DEFAULT' |
表示要從中讀取的目標端。 當使用者想要從數據流 join讀取狀態時,會使用此選項。 |
joinSide |
STRING |
'None' |
表示要從中讀取的目標端。 當使用者想要從數據流 join讀取狀態時,會使用此選項。 下列其中一項:'Left' 、'Right' 或 'None' 。 |
傳回
函式會傳回具有下列 columns的結果 set。
注意
巢狀 columns 的鍵和值很大程度上依賴於有狀態操作符的輸入 schema 和操作符的類型。
名稱 | 資料類型 | Nullable | 標準 | 描述 |
---|---|---|---|---|
id |
STRUCT |
No | 儲存在狀態檢查點之具狀態運算子的索引鍵數據列。 | |
value |
STRUCT |
Yes | 儲存在狀態檢查點之具狀態運算子的值數據列。 | |
partition_id |
INTEGER |
No | 包含記錄的 partition。 | |
shardId |
STRING |
No | 為從分區 where 讀取數據的唯一 identifier。 | |
sequenceNumber |
BIGINT |
No | 記錄在其分片內的唯一 identifier。 | |
approximateArrivalTimestamp |
TIMESTAMP |
No | 記錄插入數據流的大約時間。 |
範例
- 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'
);