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