在将数据从S3复制到redshift时,我面临的错误是:

时间:2016-03-08 20:52:15

标签: amazon-redshift

缺少换行符:在位置0找到意外的字符0x22

表创建语句是

CREATE TABLE venue (
  City varchar(45) ,
  Country varchar(2) ,
  Description varchar(82) ,
  lat_lon varchar(30) ,
  Region varchar(30) ,
  State varchar(15) ,
  Venue_Config_ID int ,
  zip varchar(8) ,
  CT_ID int ,
  CN_ID int ,
  DS_ID int ,
  RG_ID int ,
  ZP_ID int ,
  ST_ID int 
) 

来自CSV文件的示例行

" D e n v e r"," U S"," E l l i e   C a u l k i n s   O p e r a   H o u s e"," 3 9 . 7 4 3 6 4 7 9 , - 1 0 4 . 9 9 8 1 4"," D e n v e r"," C O","1230057"," 8 0 2 0 4","11","1","8771","11","2673","11"

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

0x22是一个引号(")。这可能与您使用引用的文本加载int字段这一事实有关。

尝试使用REMOVEQUOTES命令中的COPY选项删除引号。

答案 1 :(得分:0)

我遇到了同样的问题,发现我的csv文件是unicode,并且Redshift COPY expects UTF-8

  

默认情况下,COPY命令期望源数据位于字符分隔的UTF-8文本文件中。默认的分隔符是竖线字符(|)。如果源数据是另一种格式,请使用以下参数指定数据格式。