Amazon使用从CSV复制的红移错误-引号内的换行符

Amazon使用从CSV复制的红移错误-引号内的换行符,csv,copy,amazon-redshift,linefeed,Csv,Copy,Amazon Redshift,Linefeed,我正在使用COPY将MySQL数据导入我的红移数据库。我遇到了一个问题,表中有JSON数据,但它无法复制,称为“分隔值缺少结束引号” 所以我开始深入研究这个,我做了一些实验。我制作了一个非常基本的表来测试这个,称为test,如下所示: 创建表测试(cola varchar(1000),colb varchar(1000)) 然后,我使用COPY命令从S3存储桶中名为test.csv的文件填充此表。如果文件如下所示,则它可以工作: "{ ""contactInfo"": [ ""g

我正在使用COPY将MySQL数据导入我的红移数据库。我遇到了一个问题,表中有JSON数据,但它无法复制,称为“分隔值缺少结束引号”

所以我开始深入研究这个,我做了一些实验。我制作了一个非常基本的表来测试这个,称为test,如下所示:

创建表测试(cola varchar(1000),colb varchar(1000))

然后,我使用COPY命令从S3存储桶中名为test.csv的文件填充此表。如果文件如下所示,则它可以工作:

"{  
""contactInfo"": [  
    ""givenName"",  
    ""familyName"",  
    ""fullName"",  
    ""middleNames"",  
    ""suffixes"",  
    ""prefixes"",  
    ""chats"",  
    ""websites""  
]}", "a"  
如果它看起来像这样,则会失败:

"a", "{  
""contactInfo"": [  
    ""givenName"",  
    ""familyName"",  
    ""fullName"",  
    ""middleNames"",  
    ""suffixes"",  
    ""prefixes"",  
    ""chats"",  
    ""websites""  
]}"  
因此,如果我的JSON数据在第一列中,COPY将忽略引号内的换行符。如果它在第二列或更高的列中,它将换行视为数据行的结尾

作为记录,我没有将QUOTE设置为,我让它默认为“,这就是为什么我将文件中的”字符加倍

有人知道为什么会发生这种情况,以及我如何解决它吗?我不能一直将数据移动到第一列,我并不总是知道它在哪里,而且可能有不止一列的JSON数据

编辑:
为了记录在案,我在一个字符串中使用了一个简单的换行符,没有JSON数据,我遇到了同样的问题

您正在使用的复制命令的详细信息是什么?实际上只是一个指向S3存储桶的复制命令,唯一使用的限定符是csv。所以,尽可能的赤裸裸。我使用非csv平面文件解决了这个问题,其中包含换行符、回车符和分隔符。如果我能让它工作的话,我还是更喜欢这种方法,但是运气不好。从's3://'凭证'aws\u access\u key\u id=aws\u secret\u access\u key='csv;