使用COPY命令从s3插入具有特殊字符(如\ \ n“'的数据到springboot项目中的redshift的问题)

时间:2019-08-29 15:59:22

标签: amazon-web-services spring-boot amazon-s3 amazon-redshift

我们有一个使用Spring Boot开发的基于Java的ETL应用程序,在管道中,我们从下游(调用另一个应用程序端点)获取数据,从输入文件(csv)转换数据,并将转换后的输出文件复制到s3,像这样使用COPY命令将数据从s3插入到redshift:

COPY schema_nm.table1 FROM 's3://<bucket_name>/projectNamefolder/output/<file name>' CREDENTIALS 'aws_iam_role=arn:aws:iam::12345678:role/<role_Name>' REGION 'us-east-1' TRIMBLANKS TRUNCATECOLUMNS ACCEPTANYDATE ACCEPTINVCHARS ESCAPE REMOVEQUOTES BLANKSASNULL FILLRECORD MAXERROR 100 delimiter '' DATEFORMAT 'auto' TIMEFORMAT 'auto';

我们在数据中包含一些特殊字符,例如\ n \“',我们希望将这些字符与数据一起插入表中,由于这些字符,记录被删除或拒绝并进入stl_load_errs表。请注意,这些字段在表中是varchar。请问有谁能帮助我们确保将数据与这些字符一起插入。

尝试了COPY命令中的选项,例如ACCEPTINVCHARS,ESCAPE,REMOVEQUOTES,但仍然没有幸免的记录仍然被拒绝。

0 个答案:

没有答案