Когда я сталкивался с этой ошибкой в прошлом, я всегда прибегаю к явному определению как используемого разделителя, так и формата даты:
COPY db.schema.table
FROM 's3://bucket/folder/file.csv'
CREDENTIALS 'aws_access_key_id=[access_key];aws_secret_access_key=[secret_access_key]'
DELIMITER AS ','
DATEFORMAT 'YYYY-MM-DD'
IGNOREHEADER 1
;
Если у вас есть возможность изменить Структура / формат файла S3, вы должны явно заключить даты в кавычки и сохранить их как текстовый файл с разделителями табуляцией вместо CSV. Если вы можете сделать это, ваша команда COPY
будет выглядеть так:
COPY db.schema.table
FROM 's3://bucket/folder/file.csv'
CREDENTIALS 'aws_access_key_id=[access_key];aws_secret_access_key=[secret_access_key]'
DELIMITER AS '\t'
DATEFORMAT 'YYYY-MM-DD'
IGNOREHEADER 1
REMOVEQUOTES
;
Кроме того, вы сможете запросить системную таблицу stl_load_errors
, чтобы собрать дополнительную информацию о точной строке / тексте, которая вызывающий сбой загрузки:
SELECT *
FROM stl_load_errors
ORDER BY starttime DESC
;