#amazon-web-services #amazon-redshift
#amazon-web-services #amazon-redshift
Вопрос:
Я импортирую данные из CSV-файла в Amazon Redshift с помощью команды КОПИРОВАНИЯ и получаю ошибку :
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"
Когда я удаляю нулевые значения из файла csv, команда КОПИРОВАНИЯ работает нормально.
Как обрабатывать нулевые значения в команде копирования redshift? enter code here
Ответ №1:
Похоже, у вас 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"
данные не были проанализированы в TIMESTAMP
type.