#snowflake-schema #snowflake-task #snowflake-cloud-data-platform
#snowflake-схема #snowflake-задача #snowflake-cloud-data-platform
Вопрос:
возможно ли получить записи, которые не удалось скопировать во время команды копирования в Snowflake, с внутренней сцены в таблицу snowflake?
Я пытаюсь загрузить повторные записи ошибок в таблицу ошибок во время выполнения команды копирования. Используется команда копирования:
Скопируйте в таблицу (col1, col2, col3, col4) из (выберите $ 1, $ 2, $ 3,56 из @%таблицы) ON_ERROR= ПРОДОЛЖИТЬ
Комментарии:
1. Привет, вы смогли найти решение ..?
Ответ №1:
Чтобы получить все плохие записи, вы можете запустить копию с VALIDATION_MODE = ‘ВОЗВРАЩАТЬ ОШИБКИ’ . Затем используйте RESULT_SCAN из проверки в инструкции insert.
Комментарии:
1. Я думаю, что это не сработает, если в моей команде копирования есть имена столбцов, я использую Copy into table (col1, col2, col3, col4) from (выберите $ 1, $ 2, $ 3,56 из @%table) ON_ERROR=CONTINUE .
Ответ №2:
Если один из ваших столбцов уникален (например, col1), возможно, вы можете сравнить строки в таблице со строками на этапе:
select $1 from @%table
MINUS
select col1 from table;
Комментарии:
1. выбрать $ 1 из таблицы @% не работает, потому что в моей таблице разное количество столбцов, чем в файле, который находится на стадии. выдает ошибку количество столбцов в файле не совпадает с таблицей. И у меня может не всегда быть уникальных значений, поэтому я не планирую использовать это решение.
Ответ №3:
Пожалуйста, проверьте ниже инструкцию select после команды копирования
select rejected_record from table(validate(test_copy , job_id => '_last')) ;