尝试将数据从 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
不能与FIXEDWIDTH
、REMOVEQUOTES
或ESCAPE
一起使用。