首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Redshift卸载数据

从Redshift卸载数据
EN

Stack Overflow用户
提问于 2019-02-19 23:23:13
回答 1查看 553关注 0票数 0

我在Redshift中有一个包含以下列的表

代码语言:javascript
复制
id int,state varchar(50), name varchar(50),tsa varchar(50),countrycode varchar(50),country_id int

当我把它插入AWS Lambda的Redshift中时,它期待varchar像这样被转义-

代码语言:javascript
复制
cursor.execute('insert into test values (81,\'tn\',\'ic\',\'ICS\',\'US\',9)'))

我正在以下列方式从Redshift卸载数据-

方法1

代码语言:javascript
复制
    unload ('select * from info')
    to 's3://Info/Load/' 
    iam_role 'arn:aws:iam:::role'
    addquotes
    ;

到S3的输出是

代码语言:javascript
复制
80|test|test1|test2S|US|9

方法2

代码语言:javascript
复制
unload ('select * from info')
to 's3://Info/Load/' 
iam_role 'arn:aws:iam:::role'
;

到S3的输出是

代码语言:javascript
复制
"41"|"PA"|"PEN"|"Test"|"US"|"90"

如何以以下格式从Redshift卸载数据,这样我就可以轻松地运行inserts。

代码语言:javascript
复制
81,\'tn\',\'ic\',\'ICS\',\'US\',9
EN

回答 1

Stack Overflow用户

发布于 2019-02-20 00:10:49

您可能需要:

  • DELIMITER AS ','
  • ADDQUOTES
  • ESCAPE

见:卸载文件

顺便说一下,不建议通过单独的INSERT语句将数据插入Redshift。您应该使用COPY语句从文件中批量加载数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54776446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档