Значение в столбце количества в CSV-файле вставляется в другой столбец - PullRequest
0 голосов
/ 10 июня 2019

Я получаю

1202 Дополнительные столбцы, в которых обнаружена ошибка

в Redshift при попытке загрузить простой файл CSV.

Я попытался запрос ниже, так как у меня был CSV-файл с суммой, которая запятая.

COPY imtest.cloudchckr_test FROM 's3://imtestredshift/Cloudchckr/Cloudchecker_listcost_csv.txt'
iam_role 'arn:aws:iam::123456789012:role/RedshiftAccessS3'
csv; 

data

Result

введите изображениеописание здесь

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Ваша проблема здесь не в QOUTE, а в comma(,) для integer или numeric столбцов.Таким образом, у вас есть два варианта решения:

  1. Предварительная обработка для удаления comma(,) из numeric столбцов.
  2. Вы должны загрузить его в столбец varchar и затем скопироватьи преобразовать данные в столбец numeric.

Существует exactly тот же сценарий использования, который указан в Документация AWS .

ex Таблица содержит varchar столбцов, как показано ниже, и даже если у вас есть данные, подобные приведенным ниже, которые включают comma, он будет работать seamlessly.

create table example(
salesid varchar(25) ,
listid varchar(25) ,
sellerid varchar(25) ,
buyerid integer );

И данные, как показано ниже, с comma(,).

"AAA","12,133","234,144","231"
"BBB","22,233",234244,"232"
"CCC","32,333","234,344","233"
"DDD","42,433",234444,"234"

Надеюсь, это поможет.

0 голосов
/ 10 июня 2019

Вам необходимо указать параметр csv, см. Последнюю строку нижеприведенной команды:

copy category
from 's3://mybucket/data/category_csv.txt' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' 
csv;

Если в качестве символа кавычки указано что-то отличное от ", укажите это, как показано ниже:

csv quote as '%';

Дайте мне знать, если это работает для вас.

...