[英]COPY from S3 to Redshift not recognizing newline
我正在尝试将COPY命令从S3存储桶运行到Redshift PostgreSQL表,并且出现以下错误(在stl_load_errors中):
err_code: 1207
err_reason: Invalid digit, Value '2', Pos 3, Type: Short
raw_field_value:
2
2/28/15
该文件有2行:
28分之2/ 15电话,机器人,0,1,3,2,2
28分之2/ 15电话,机器人,0,4,1,2,2
CREATE TABLE
代码是:
create table aggregate_table( date date, variable varchar(15),source varchar(15), prepaid smallint, direction smallint, total smallint, carrier smallint, carrier_group smallint)
似乎无法识别换行符,并且正在尝试将第一行的末尾和第二行的开始作为一个值读取。 我尝试使用delimiter ','
和escape
,但是似乎没有任何效果。
谢谢您的帮助!
编辑:这是COPY命令(我也在结尾处也尝试了escape
)
COPY aggregate_table FROM 's3://path_to_file.csv' CREDENTIALS 'aws_access_key_id=XXXX;aws_secret_access_key=XXXXX' CSV delimiter ',' DATEFORMAT AS 'MM/DD/YY';
您需要将DATEFORMAT AS 'MM/DD/YY'
到COPY命令中。 否则,redshift无法正确解析第一列中的日期,因为它需要YYYY-MM-DD
。
有关更多详细信息,请参见http://docs.aws.amazon.com/redshift/latest/dg/r_DATEFORMAT_and_TIMEFORMAT_strings.html 。
@quarterdome感谢您与我一起工作! 在您指出它可行之后,我从头到尾再次尝试。 原来,当我保存不带.csv扩展名的文件时,它起作用了! -
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.