Можно ли отменить условие КОГДА в задаче «Снежинка»?

avatar
Denton Krietz
1 июля 2021 в 16:29
150
1
0

У меня есть задача Snowflake, запуск которой запланирован один раз в час, и она использует условие WHEN для проверки наличия данных в конкретном потоке. Я хотел бы ИЗМЕНИТЬ эту задачу, чтобы она больше не использовала условие when, однако unset не работает, и я не могу изменить его на НУЛЕВОЙ. Один обходной путь, который мы нашли, заключается в том, что вы можете изменить его на TRUE, который, кажется, работает (оператор выполняется, и задача выполняется), но я бы предпочел, чтобы он был отключен, как и другие задачи, для которых не установлено условие когда . Я также понимаю, что могу отказаться от задачи и создать ее заново, однако тогда я потеряю историю. Это незначительная проблема, но кажется странным, что ее нельзя изменить постфактум, и я не видел никакой документации, указывающей на то, что это ожидаемое поведение.

Примечание: я убедился, что корневая задача приостановлена, прежде чем пытаться внести какие-либо изменения.

alter task example_task unset when;

Ошибка компиляции SQL: недопустимое свойство "когда" для "ЗАДАЧИ"

alter task example_task modify when NULL;

Недопустимое выражение для выражения условия задачи. Ожидая одного из следующее: [SYSTEM$STREAM_HAS_DATA]

alter task example_task unset condition;

Ошибка компиляции SQL: недопустимое свойство "условие" для "ЗАДАЧИ"

(Примечание: проверено ^, потому что столбец помечен как "условие" при запуске показать задачи)

alter task example_task remove when;

Ошибка компиляции SQL: непредвиденная синтаксическая ошибка, строка 1 в позиции 31 'когда'.

(Примечание: проверено ^, потому что вы используете «удалить» для изменения параметра «после»)

alter task example_task modify when TRUE;

оператор выполнен успешно.

Кроме того, это привлекло наше внимание при попытке использовать поставщика терраформирования снежинки, который безуспешно пытался обновить условие when. Теперь, кажется, я знаю почему.

Источник
Denton Krietz
1 июля 2021 в 19:55
0

Благодаря ответу @NickW и некоторому дополнительному тестированию кажется, что мои опасения по поводу потери истории задач необоснованны, поскольку она поддерживается отдельно в information_schema.task_history. Итак, дополнительный вопрос: есть ли какие-либо недостатки в простом удалении/повторном создании задачи?

Ответы (1)

avatar
NickW
1 июля 2021 в 18:47
0

В качестве альтернативы, почему бы не заменить всю задачу с помощью CREATE OR REPLACE TASK...?