Импорт данных Alexa в Amazon RedShift

Я взял файл ежедневного дампа и разархивировал его, а затем снова поместил на s3.

Когда я пытаюсь выполнить оператор копирования в postgresql, я получаю следующую ошибку

Missing newline: Unexpected character  0x14 found at location 4

Запрос:

copy temp from 's3://bucket/top-1m.csv' credentials 'blah blah blah';

Должен ли я добавлять какой-то символ в каждую строку?

Необработанные данные:

1,facebook.com
2,google.com
3,youtube.com
4,yahoo.com
5,amazon.com
6,baidu.com
7,wikipedia.org
8,live.com

person Dan Ciborowski - MSFT    schedule 21.07.2013    source источник
comment
Разделитель? По умолчанию |   -  person Guy    schedule 22.07.2013
comment
По умолчанию для RedShift или для Alexa?   -  person Dan Ciborowski - MSFT    schedule 22.07.2013
comment
Команда КОПИРОВАТЬ с красным смещением   -  person Guy    schedule 22.07.2013


Ответы (2)


Команда Redshift COPY использует PIPE '|' как символ-разделитель по умолчанию. Если ваши файлы разделены другим символом (в вашем случае запятой), все, что вам нужно сделать, это добавить ключевое слово DELIMITER к вашей команде COPY.

copy temp from 's3://bucket/top-1m.csv' credentials 'blah blah blah' delimiter as ',';

или для файлов, разделенных запятыми:

copy temp from 's3://bucket/top-1m.csv' credentials 'blah blah blah' csv;
person Meny Issakov    schedule 19.08.2014

скопировать temp из учетных данных s3://bucket/top-1m.csv 'бла-бла-бла' разделитель ',';

person ciphor    schedule 16.08.2013