ОШИБКА: загрузка в таблицу - неверные данные в команде COPY - PullRequest
0 голосов
/ 16 апреля 2019

Я импортирую данные из файла CSV в Amazon Redshift с помощью команды COPY и получаю сообщение об ошибке:

COPY table1 FROM 's3://cucket1/table1.csv' 
credentials 'aws_access_key_id=aaaa;aws_secret_access_key=aaaa' 
IGNOREHEADER 1  
csv 
NULL AS '\N' 
timeformat 'auto';

ОШИБКА: сбой загрузки в таблицу 'table1'. Подробности смотрите в системной таблице 'stl_load_errors'.

мой CSV-файл выглядит так:

"id","name","created_at","updated_at"
"1","2","NULL","NULL"
"2","1","NULL","NULL"
"6","1","NULL","NULL"
"87","1","NULL","NULL"

Когда я удаляю значения NULL из CSV-файла, команда COPY работает нормально. Как обрабатывать значения NULL в команде COPY красного смещения? enter code here

1 Ответ

2 голосов
/ 16 апреля 2019

Похоже, ваши NULL имеют формат "NULL".Это должно сработать:

COPY table1 FROM 's3://cucket1/table1.csv' 
credentials 'aws_access_key_id=aaaa;aws_secret_access_key=aaaa' 
IGNOREHEADER 1  
csv 
NULL AS 'NULL' 
timeformat 'auto';

Кроме того, заглянув в stl_load_errors, вы получите лучшее представление о том, что не так.

Вы пробовали select * from stl_load_errors order by starttime desc limit 100;?Этот запрос должен предоставить вам все детали о данных, которые не могут быть загружены.Я подозреваю, что в вашем случае "NULL" cound не был разобран в тип TIMESTAMP.

...