stl_load_errors возвращает неверный формат метки времени, который я не могу понять - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь использовать функцию copy для создания таблицы в Redshift.Я настроил это конкретное поле, которое продолжает сбой в моей схеме, как стандартное timestamp, потому что я не знаю, почему это было бы иначе.Но когда я запускаю этот оператор:

copy sample_table
from 's3://aws-bucket/data_push_2018-10-05.txt'
                       credentials 'aws_access_key_id=XXXXXXXXXXXXXXXXXXXX;aws_secret_access_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/XXX'
                       dateformat 'auto'
                       ignoreheader 1; 

Он продолжает возвращать эту ошибку: Invalid timestamp format or value [YYYY-MM-DD HH24:MI:SS]

raw_field_value: "2018-08-29 15:04:52"

raw_line: 12039752|311525|"67daf211abbe11e8b0010a28385dd2bc"|98953|"2018-08-20"|"2018-11-30"|"active"|"risk"|||||||"sample"|15750|0|"2018-08-29 15:04:52"|"2018-08-29 16:05:01"

В нашей базе данных есть очень похожая таблица (которую я не создавал), в которой вышеупомянутое значение ошибки равно timestamp и значения для этого поля идентичны 2018-08-29 15:04:52, так что происходит, когда я запускаю еечто вызывает проблему?

1 Ответ

0 голосов
/ 06 октября 2018

Ваша команда копирования выглядит нормально, и кажется, что вам не хватает параметров 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.

Надеюсь, это ответит на ваш вопрос.

...