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

Redshift数据加载问题:含分隔符列处理及选择性加载列

Redshift COPY命令处理含分隔符列及指定列加载方案

1. 加载包含分隔符值的列

如果C列的竖线是用引号包裹的(比如数据格式为A值|B值|"C值|带竖线"),可以在COPY命令中添加quoted by参数,让Redshift识别引号内的内容为单个字段:

copy load_table from 'S3_location'
iam_role '你的IAM角色ARN'
delimiter '|'
quoted by '"';

如果C列的竖线是用转义字符(比如\)转义的(比如数据格式为A值|B值|C值\|带竖线),则使用escape参数:

copy load_table from 'S3_location'
iam_role '你的IAM角色ARN'
delimiter '|'
escape '\';

如果数据既没有引号也没有转义,需要先预处理数据(比如用AWS Lambda给含竖线的C列添加引号,或替换内部竖线为其他字符),再执行COPY命令。

2. 仅加载A、B列

可以直接在COPY命令中指定要加载的列列表,忽略C列:

copy load_table (A, B) from 'S3_location'
iam_role '你的IAM角色ARN'
delimiter '|';

这样Redshift只会读取每行的前两个竖线分隔的字段,直接存入A、B列,完全不受C列内容的影响。

内容的提问来源于stack exchange,提问作者Shubham Sundram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:48:14