繁体   English   中英

从S3复制到Redshift无法识别换行符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM