Поделиться через


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_values являются нечувствительными к регистру.

option_key Тип По умолчанию. Description
batchId BIGINT последний идентификатор пакетной службы Представляет целевой пакет для чтения. Этот параметр используется, когда пользователи хотят выполнять поездки по времени. Пакет должен быть зафиксирован, но еще не очищен.
OperatorId BIGINT 0 Представляет целевой оператор для чтения. Этот параметр используется при использовании нескольких операторов с отслеживанием состояния.
storeName STRING 'DEFAULT' Представляет целевую сторону для чтения. Этот параметр используется, когда пользователи хотят считывать состояние из соединения stream-stream.
joinSide STRING 'None' Представляет целевую сторону для чтения. Этот параметр используется, когда пользователи хотят считывать состояние из соединения stream-stream. Одно из: 'Left', 'Right', 'None'.

Возвраты

Функция возвращает результирующий набор со следующими столбцами.

Примечание.

Вложенные столбцы для ключа и значения сильно зависят от входящей схемы состояния оператора и типа оператора.

Имя. Тип данных Допускает значение NULL Стандартные Description
id STRUCT No Ключевая строка оператора с отслеживанием состояния, хранящегося в контрольной точке состояния.
value STRUCT Да Строка значения оператора с отслеживанием состояния, хранящегося в контрольной точке состояния.
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'
  );