如何使用 aws unload 命令将数据从 AWS Redshift 卸载到 s3?

Posted

技术标签:

【中文标题】如何使用 aws unload 命令将数据从 AWS Redshift 卸载到 s3?【英文标题】:how to use aws unload command to unload data from AWS Redshift to s3? 【发布时间】:2020-06-24 12:49:54 【问题描述】:

如何将数据从 Redshift 卸载到 S3?我正在阅读以下文档,但我在哪里可以使用此命令?

https://docs.aws.amazon.com/redshift/latest/dg/t_Unloading_tables.html

unload ('select * from venue')   
to 's3://mybucket/tickit/unload/venue_' 
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

是 bash 命令还是 py?

【问题讨论】:

【参考方案1】:

您使用 SQL 连接对 Redshift 集群执行此查询。

这与运行COPY 命令的方式类似。

确保相关 IAM 角色已附加到 Redshift 集群,并且它有权为您的存储桶调用 S3:PutObject

【讨论】:

【参考方案2】:

您必须连接到您的集群。例如,使用工作台:

Connect to your cluster by using SQL Workbench

还有其他方法,如下链接所示:

Connecting to an Amazon Redshift cluster using SQL client tools

【讨论】:

以上是关于如何使用 aws unload 命令将数据从 AWS Redshift 卸载到 s3?的主要内容,如果未能解决你的问题,请参考以下文章

从 S3 重新加载已卸载的表数据

如何将变量从 awk 传递到 shell 命令?

UNLOAD 命令是不是从 redshift 中删除或删除数据?

[dfs] aw171. 送礼物(双向dfs+算法技巧+思维+好题)

[贪心] aw3627. 最大差值(贪心+aw周赛002_2)

[模拟] aw3758. 距离零点的时刻(模拟+aw周赛007_1)