在将数据从 S3 复制到 redshift 时,我遇到了以下错误:
Posted
技术标签:
【中文标题】在将数据从 S3 复制到 redshift 时,我遇到了以下错误:【英文标题】:While copying data from S3 to redshift, I am facing error which is : 【发布时间】:2016-03-08 20:52:15 【问题描述】:缺少换行符:在位置 0 发现意外字符 0x22
Table Create 语句是
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"
任何帮助将不胜感激
【问题讨论】:
【参考方案1】:0x22
是一个引号 ("
)。这可能与您正在加载带有引用文本的 int
字段这一事实有关。
尝试在COPY
命令中使用REMOVEQUOTES
选项来删除引号。
【讨论】:
您好,我尝试了 REMOVEQUOTES 选项,但出现错误“CSV 与 REMOVEQUOTES 不兼容” 我使用的复制命令是从 's3://' CREDENTIALS 'aws_access_key_id=************************复制表;aws_secret_access_key=******************************' CSV 区域 '*******';【参考方案2】:我遇到了同样的问题,我发现我的 csv 文件是 unicode,并且Redshift COPY expects UTF-8:
默认情况下,COPY 命令要求源数据位于字符分隔的 UTF-8 文本文件中。默认分隔符是竖线字符 ( | )。如果源数据为其他格式,请使用以下参数指定数据格式。
【讨论】:
以上是关于在将数据从 S3 复制到 redshift 时,我遇到了以下错误:的主要内容,如果未能解决你的问题,请参考以下文章
AWS:使用从 s3 到 redshift 的复制命令时没有插入任何内容
使用 Psycopg2 将数据从 S3 复制到 AWS Redshift 时出错