次の方法で共有


read_statestore テーブル値関数

適用対象: check marked yes 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'
  );