Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает версию последнего зафиксированного снимка для окружающего AUTO CDC ... FROM SNAPSHOT потока. Скомментированный снимок может быть получен из предыдущего обновления конвейера или из более ранней версии текущего обновления.
Эта функция доступна только внутри WITH VERSION (...) клаузы потока AUTO CDC ... FROM SNAPSHOT .
Syntax
last_snapshot_version()
Аргументы
Эта функция не принимает аргументы.
Returns
Одностолбцевое отношение с тем же названием и типом столбца, что и запрос версии окружающего потока, содержащее 0 или 1 строку:
- 1 строка, содержащая последнюю зафиксированную версию снимка.
- 0 строк, если поток не фиксировал снимок с момента создания или последнего полного обновления.
После успешного last_snapshot_version() фиксации каждого snapshot открывает эту фиксированную версию для следующей оценки запроса версии, включая оценки внутри того же обновления конвейера. Это позволяет одному обновлению выбирать и обрабатывать несколько версий по порядку.
Examples
Следующий поток используется last_snapshot_version() для поиска следующего файла для обработки после последнего, который совершил коммит:
CREATE FLOW orders_cdc
AS AUTO CDC INTO orders
FROM SNAPSHOT (...)
WITH VERSION (
SELECT struct(modification_time, path) AS version
FROM list_files('/Volumes/catalog/schema/landing/orders/')
WHERE (
NOT EXISTS (SELECT 1 FROM last_snapshot_version())
OR struct(modification_time, path) > (SELECT version FROM last_snapshot_version())
)
ORDER BY modification_time, path
LIMIT 1
)
KEYS (order_id);
Errors
last_snapshot_version() доступна только внутри WITH VERSION (...) клаузы потока AUTO CDC ... FROM SNAPSHOT . В любом другом месте Spark разрешает название как обычную табличную функцию. Поскольку такой функции не определено, оно повышает UNRESOLVABLE_TABLE_VALUED_FUNCTION (SQLSTATE 42883).