使用COPY命令发生Redshift错误1202“找到额外的列”

lag*_*zul 5 csv amazon-s3 amazon-web-services amazon-redshift

我要1202 Extra column(s) found尝试加载简单的CSV时,Redshift出现错误。我确保文件中没有其他列,也没有任何未转义的字符,这些字符会导致COPY命令因此错误而失败。

这是创建的目标表:

create table test_table(
  name varchar(500),
  email varchar(500),
  developer_id integer,
  developer_name varchar(500),
  country varchar(20),
  devdatabase varchar(50));
Run Code Online (Sandbox Code Playgroud)

我正在使用一个简单的CSV文件,没有标题,只有3行数据:

john smith,john@gmail.com,123,johndev,US,comet
jane smith,jane@gmail.com,124,janedev,GB,titan
jack smith,jack@gmail.com,125,jackdev,US,comet
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的COPY命令失败err_1202 "Extra column(s) found"

COPY test_table 
FROM 's3://mybucket/test/test_contacts.csv'    
WITH credentials AS 'aws_access_key_id=<awskey>;aws_secret_access_key=<mykey>'
CSV;
Run Code Online (Sandbox Code Playgroud)

文件中没有其他列。

小智 6

加载数据时,我也面临着同样的问题。我使用以下代码进行了纠正:

copy yourtablename
from 'your S3 Locations'
credentials 'your AWS credentials' 
delimiter ',' IGNOREHEADER 1 
removequotes
emptyasnull
blanksasnull
maxerror 5;
Run Code Online (Sandbox Code Playgroud)