Команда копирования в базе данных Snowflake завершается неудачно, если в CSV-файле запятая в строке - PullRequest
0 голосов
/ 26 января 2020

Я копирую csv-файл из таблицы этапов в снежинке в обычную таблицу снежинок.

Некоторые строки в csv содержат запятые в строке, и из-за этого не выполняется команда копирования.

COPY INTO TEST_DB.TEST_SCHEMA.USER FROM @user_test/users.csv.gz 
file_format=(TYPE=csv field_delimiter=',' skip_header=0 ) on_error = 'abort_statement'

Я получаю следующую ошибку

SQL Error [100016] [22000]: Field delimiter ',' found while expecting record delimiter '\n'
  File 'users.csv.gz', line 32, character 54

Я также пытался использовать FIELD_OPTIONALLY_ENCLOSED_BY, это дает мне еще одну ошибку

COPY INTO TEST_DB.TEST_SCHEMA.USER FROM @user_test/users.csv.gz 
file_format=(TYPE=csv field_delimiter=',' skip_header=0 FIELD_OPTIONALLY_ENCLOSED_BY = '"') 
on_error = 'abort_statement'

Я получаю следующую ошибку

SQL Error [100066] [22000]: Found character '\r' instead of record delimiter '\n'
  File 'users.csv.gz', line 32, character 78

Строка в csv, в которой происходит сбой, выглядит следующим образом

100,True,0,2010-10-07 12:19:42,,400,8,467,"Authority, Mail Service"

Я заметил, что только строка с запятой имеет двойные кавычки.

Может ли это быть причиной того, что он все еще не работает с FIELD_OPTIONALLY_ENCLOSED_BY?

1 Ответ

3 голосов
/ 26 января 2020

Наконец-то нашли решение.

CSV-файл, который я создал с помощью python, имел между строками пространство строк.

После избавления от пространства строк в csv FIELD_OPTIONALLY_ENCLOSED_BY = '"' сработало и данные были загружены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...