使用引号将数据从S3加载到Amazon Redshift中

时间:2016-04-01 04:14:56

标签: sql-server amazon-web-services amazon-s3 amazon-redshift sql-workbench-j

如何从Amazon S3加载数据,其中输入文件中的数据在引号内并且字段以逗号分隔?

示例输入:

 “A”,”ENGLAND”,”West, City Center”,”100”,”200”

我使用了以下查询:

 copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' 
     credentials 'aws_iam_role=>iam-role-arn>' 
     delimiter ',' region 'us-west-2';

"West, City Center"中有逗号,因此无法正确加载数据。

如何定义文本限定符以加载此数据?

1 个答案:

答案 0 :(得分:1)

使用Amazon Redshift REMOVEQUOTES命令的COPY参数。

来自documentation

  

从传入数据中的字符串中删除周围的引号。引号内的所有字符(包括分隔符)都将保留。如果字符串具有开始的单引号或双引号但没有相应的结束标记,则COPY命令无法加载该行并返回错误。