She*_*har 1 amazon-web-services amazon-redshift
我有管道分隔数据,我正在尝试将其从 S3 复制到 RedShift,但复制操作失败并出现错误代码1202 : Extra column(s) found错误。
当我查看时stl_load_errors,对于具有 | 的行,复制操作失败。其中的分隔符。
样本数据:
1|hello world|how|are you|
2|"hope|you|are|doing|good"|thank you|
3|I am fine|thank you|
Run Code Online (Sandbox Code Playgroud)
对于上述数据, 2|"hope|you|are|doing|good"|thank you|无法复制,因为它有 | 分隔符本身,即使它位于双引号内。
我的复制命令如下所示:
COPY <DATABASE.TABLE NAME>
FROM 's3://path/to/file'
iam_role 'arn:aws:iam:my_role'
delimiter '|'
dateformat 'auto'
IGNOREHEADER 1
MAXERROR 5;
Run Code Online (Sandbox Code Playgroud)
AWS RedShift 文档有一个加载此类数据的示例,但他们使用了 CSV 选项,而不是 DELIMITER 选项。
我该如何解决这个问题?
您应该添加该REMOVEQUOTES参数。
从传入数据的字符串中删除周围的引号。引号内的所有字符(包括分隔符)都将被保留。
| 归档时间: |
|
| 查看次数: |
1679 次 |
| 最近记录: |