You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Copy命令将含反斜杠的S3 CSV.gz文件加载至Redshift

解决Redshift COPY命令处理CSV中反斜杠转义的问题

你的问题核心是CSV文件里用反斜杠(\)转义双引号,需要让Redshift的COPY命令正确识别这种转义规则,避免解析错误。下面是具体的解决方案:

关键参数说明

Redshift默认的CSV解析规则是用双引号("")转义字段内的双引号,但你的文件用的是反斜杠(\"),所以需要明确指定转义字符,同时启用CSV格式解析:

  • CSV:告诉Redshift源文件是标准CSV格式,识别逗号分隔符和双引号包裹的字段
  • ESCAPE:指定反斜杠作为转义字符,这样Redshift会把\"解析为单个双引号,不会把反斜杠当成普通字符保留,也不会因为未正确转义的双引号导致字段拆分错误
  • GZIP:因为你的文件是.csv.gz压缩格式,需要让Redshift自动解压加载
  • TRIMBLANKS:去除字段前后的空白字符(你原命令里已经用到,这里保留)

调整后的完整COPY命令

copy stg.train_ticket 
from 's3://{path}/' 
CREDENTIALS 'aws_access_key_id={aws_access_key_id};aws_secret_access_key={aws_secret_access_key}' 
CSV 
ESCAPE 
GZIP 
TRIMBLANKS;

验证与注意事项

  • 测试时可以在命令末尾加LIMIT 100参数,只加载前100行数据,快速检查字段值是否正确(比如示例中第二行的ARIZONA \"9\" LLC会被解析为ARIZONA "9" LLC)
  • 如果字段本身需要包含反斜杠,要写成\\,这样Redshift会解析为单个反斜杠字符
  • 只要字段是用双引号完整包裹的,即使内部包含换行符,CSV参数也能正确识别,不会把换行符误判为行分隔符

内容的提问来源于stack exchange,提问作者Tom Tang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:23:52