我在Redshift中有一个包含以下列的表
id int,state varchar(50), name varchar(50),tsa varchar(50),countrycode varchar(50),country_id int当我把它插入AWS Lambda的Redshift中时,它期待varchar像这样被转义-
cursor.execute('insert into test values (81,\'tn\',\'ic\',\'ICS\',\'US\',9)'))我正在以下列方式从Redshift卸载数据-
方法1
unload ('select * from info')
to 's3://Info/Load/'
iam_role 'arn:aws:iam:::role'
addquotes
;到S3的输出是
80|test|test1|test2S|US|9方法2
unload ('select * from info')
to 's3://Info/Load/'
iam_role 'arn:aws:iam:::role'
;到S3的输出是
"41"|"PA"|"PEN"|"Test"|"US"|"90"如何以以下格式从Redshift卸载数据,这样我就可以轻松地运行inserts。
81,\'tn\',\'ic\',\'ICS\',\'US\',9发布于 2019-02-20 00:10:49
您可能需要:
DELIMITER AS ','ADDQUOTESESCAPE见:卸载文件。
顺便说一下,不建议通过单独的INSERT语句将数据插入Redshift。您应该使用COPY语句从文件中批量加载数据。
https://stackoverflow.com/questions/54776446
复制相似问题