Ваша команда копирования выглядит нормально, и кажется, что вам не хватает параметров FORMAT as CSV QUOTE AS '"'
AND DELIMITER AS '|'
и она должна работать.
Я здесь использую некоторые примеры данных и команду, чтобы доказать мой случай, чтобыСделав это проще, я сделал таблицу простой и охватил все ваши точки данных.
create table sample_table(
salesid integer not null,
category varchar(100),
created_at timestamp,
update_at timestamp );
Вот ваши примеры данных test_file.csv
,
12039752|"67daf211abbe11e8b0010a28385dd2bc"|"2018-08-29 11:04:52"|"2018-08-29 14:05:01"
12039754|"67daf211abbe11e8b0010a2838cccddbc"|"2018-08-29 15:04:52"|"2018-08-29 16:05:01"
12039755|"67daf211abbe11e8b0010a28385ff2bc"|"2018-08-29 12:04:52"|"2018-08-29 13:05:01"
12039756|"67daf211abbe11e8b0010a28385bb2bc |"2018-08-29 10:04:52"|"2018-08-29 15:05:01"
Здесь идет ваша команда копирования,
COPY sample_table FROM 's3://path/to/csv/test_file.csv' CREDENTIALS 'aws_access_key_id=XXXXXXXXXXX;aws_secret_access_key=XXXXXXXXX' FORMAT as CSV QUOTE AS '"' DELIMITER AS '|';
Будет возвращено,
INFO: Load into table 'sample_table' completed, 4 record(s) loaded successfully.
COPY
Хотя эта команда работает нормально, но если с вашими данными возникнут другие проблемы, вы также можете попробовать опцию MAXERROR
.
Надеюсь, это ответит на ваш вопрос.