区切り文字付きまたは固定幅形式でデータをアンロードする - Amazon Redshift

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

区切り文字付きまたは固定幅形式でデータをアンロードする

データのアンロードは、区切り文字付き形式と固定幅形式のどちらでも可能です。デフォルトでは、出力はパイプ文字 (|) で区切られます。

次に示す例では、カンマを区切り文字として指定しています。

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 仕様についての詳細は、UNLOAD コマンドを参照してください。