在引号中嵌入换行符的红移副本



尝试将数据从 S3 复制到 Redshift,并带有引号的换行符 示例 CSV 文件:

Line 1 -->  ID,Description,flag
Line 2 -->  "1111","this is a test", "FALSE"
Line 3 -->  "2222","I hope someone
could help", "TRUE"
Line 4 -->  "3333", "NA", "FALSE"

示例表:

TEST_TABLE:
ID VARCHAR(100)
DESCRIPTION VARCHAR(100)
FLAG VARCHAR(100)

如果您注意到第 2 行有一个换行符,并且在使用 COPY 命令时出现错误Delimited value missing end quote

这是我使用的复制命令:

copy table_name
from sample.csv
credentials aws_access_key_id= blah; aws_secret_access_key=blah
DELIMITER ','
removequotes
trimblanks
ESCAPE ACCEPTINVCHARS
EMPTYASNULL
IGNOREHEADER 1
COMPUPDATE OFF;
commit;

我也尝试了CSV选项,但得到"找到额外的列":

copy table_name
from sample.csv
credentials aws_access_key_id= blah; aws_secret_access_key=blah
CSV
IGNOREHEADER 1
COMPUPDATE OFF;
commit;

我希望第 2 行中的描述列与换行符一起加载。

由于该字段由引号分隔,因此请使用 CSV 选项。

注意:CSV不能与FIXEDWIDTHREMOVEQUOTESESCAPE一起使用。

最新更新