Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает строку версии, выбранную клаузой WITH VERSION (...) заключающего потока для обрабатываемого снимка.
Эта функция доступна только внутри FROM SNAPSHOT (...) клаузы потока AUTO CDC ... FROM SNAPSHOT .
Syntax
current_snapshot_version()
Аргументы
Эта функция не принимает аргументы.
Returns
Одностолбцевое отношение с тем же именем и типом столбца, что и запрос версии окружающего потока, содержащее ровно одну строку. В строке содержится выбранная версия для текущей итерации обработки снимков.
current_snapshot_version() вычисляется только после того, как запрос версии возвращает 1 строку. Если запрос версии возвращает 0 строк, движок не запускает запрос к снимку и завершает обработку потока во время обновления конвейера.
Examples
Следующий поток используется current_snapshot_version() для чтения файла, выбранного клаузой WITH VERSION (...) . Версия состоит из одного STRUCT столбца, поэтому её поля доступны с помощью точечной нотации:
CREATE FLOW orders_cdc
AS AUTO CDC INTO orders
FROM SNAPSHOT (
SELECT *
FROM read_files('/Volumes/catalog/schema/landing/orders/', format => 'json')
WHERE _metadata.file_path = (SELECT version.path FROM current_snapshot_version())
)
WITH VERSION (...)
KEYS (order_id);
Errors
current_snapshot_version() доступна только внутри FROM SNAPSHOT (...) клаузы AUTO CDC ... FROM SNAPSHOT потока, который объявляет WITH VERSION (...) предложение. В любом другом месте Spark разрешает название как обычную табличную функцию. Поскольку такой функции не определено, оно повышает UNRESOLVABLE_TABLE_VALUED_FUNCTION (SQLSTATE 42883).