Amazon s3 如何使用“将数据从s3复制到红移”&引用;在字段中输入值

Amazon s3 如何使用“将数据从s3复制到红移”&引用;在字段中输入值,amazon-s3,amazon-redshift,Amazon S3,Amazon Redshift,在将数据从S3读取到红移时,我面临“找到额外列”错误。 由于我的数据有863830行和21列,我将给你一个小例子来说明数据是如何产生的 create table test_table( name varchar(500), age varchar(500) ) 我的数据是 (ABC,12) (First,Last,25) 其中,第一列、最后一列应归入一列 不幸的是,我无法用这个copy命令做到这一点 COPY test_table from 'path' iam_role 'credenti

在将数据从S3读取到红移时,我面临“找到额外列”错误。 由于我的数据有863830行和21列,我将给你一个小例子来说明数据是如何产生的

create table test_table(
name varchar(500),
age varchar(500)
)
我的数据是

(ABC,12)
(First,Last,25)
其中,第一列、最后一列应归入一列

不幸的是,我无法用这个copy命令做到这一点

COPY test_table from 'path'
iam_role 'credentials'
region 'us-east-1'
IGNOREHEADER 1
delimiter as ','

有没有办法在字段中添加逗号?

您要加载的是CSV文件吗?如果是,请尝试使用命令中指定的CSV格式参数加载,而不是使用分隔符“,”参数。这里有一个例子-

从“路径”复制测试表
iam_角色“凭证”
区域“美国-东部-1”
信号头1
CSV


如果这没有帮助,您可能必须使用ESCAPE参数。这也需要在您的文件中进行修改。下面是一个示例-

您的数据不符合CSV规范。看

要存储示例数据,需要将包含逗号的字段括在“”中

数据文件中的括号也需要删除,因为它们将被解释为数据字段的一部分

或者,您可以将数据的分隔符从“,”更改为其他类似“%”的内容。但是,如果这个字符在您的数据中,那么您就回到了开始的位置。仅当您使用的字符永远不会出现在数据中时,特殊分隔文件才起作用。这就是为什么我建议您使用更健壮的CSV规范,并使用“CSV”选项进行复制

ABC,12
"First,Last",25