Amazon Redshift
数据库开发人员指南 (API 版本 2012-12-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

以分隔或固定宽度格式卸载数据

您可以按分隔格式或固定宽度格式卸载数据。默认输出为管道分隔(使用“|”字符)。

下面的示例将逗号指定为分隔符:

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

这会生成如下所示的输出文件:

20,Air Canada Centre,Toronto,ON,0 60,Rexall Place,Edmonton,AB,0 100,U.S. Cellular Field,Chicago,IL,40615 200,Al Hirschfeld Theatre,New York City,NY,0 240,San Jose Repertory Theatre,San Jose,CA,0 300,Kennedy Center Opera House,Washington,DC,0 ...

要将相同的结果集卸载到制表符分隔的文件中,请发出下面的命令:

unload ('select * from venue') to 's3://mybucket/tickit/venue/tab' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' delimiter as '\t';

或者,您也可以使用 FIXEDWIDTH 规范。该规范包含用于每个表列的分隔符及列的宽度(字符数)。UNLOAD 命令宁可失败也不会截断数据,因此,请指定至少与列的最长条目等长的宽度。卸载固定宽度数据的工作原理与卸载分隔数据相似,只不过生成的输出不包含分隔字符。例如:

unload ('select * from venue') to 's3://mybucket/tickit/venue/fw' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' fixedwidth '0:3,1:100,2:30,3:2,4:6';

固定宽度输出如下所示:

20 Air Canada Centre Toronto ON0 60 Rexall Place Edmonton AB0 100U.S. Cellular Field Chicago IL40615 200Al Hirschfeld Theatre New York CityNY0 240San Jose Repertory TheatreSan Jose CA0 300Kennedy Center Opera HouseWashington DC0

有关 FIXEDWIDTH 规范的更多信息,请参阅 COPY 命令。