首页 > 解决方案 > 如何转义“\”复制到 Redshift

问题描述

请问我们从S3复制到Redshift时如何转义'\'?

我们的数据在名称列中包含“\”并且它会上传错误,即使我们在复制命令中使用了 ESCAPE 参数。

-- Copy Command
copy <TableName> from <Target S3 File Bucket Path>
iam_role 'XXXXXXXXXXXXXX' REGION 'ap-northeast-1'
REMOVEQUOTES 
IGNOREHEADER 2  
ESCAPE 
DATEFORMAT 'auto' 
TIMEFORMAT 'auto' 
GZIP 
DELIMITER ',' 
ACCEPTINVCHARS '?' 
COMPUPDATE TRUE 
STATUPDATE TRUE 
MAXERROR 0 
TRUNCATECOLUMNS  
NULL AS '\000' 
EXPLICIT_IDS;

-- Sample Data
id, name, price
234,TX35-12\,456

看STL_LOAD_ERRORS,好像是自动转义为“\\”(STL_LOAD_ERRORS中的原始行是'234,TX35-12\\,456'),但无法避免'Delimiter not found',err_code =1214。

如果我们的复制命令有问题或者您有任何其他适当的方式,我们将再次感谢您提供任何建议。

谢谢你。

标签: amazon-s3escapingamazon-redshift

解决方案


推荐阅读