我们有一个使用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,但仍然没有幸免的记录仍然被拒绝。