はじめに
AWSに構築したVerticaからS3にデータをエクスポートできます。以下にその方法をご紹介します。
VerticaのデータをAWSのS3にエクスポートする手順
1.VerticaでAWS_ACCESS_KEY_IDを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_id = <span class="crayon-s">'<AWS_ACCESS_KEY_ID>'</span><span class="crayon-sy">;</span> |
2.VerticaでAWS_SECRET_ACCESS_KEYを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_secret = <span class="crayon-s">'<AWS_SECRET_ACCESS_KEY>'</span><span class="crayon-sy">;</span> |
3.Verticaでリージョンを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_region = <span class="crayon-s">'<リージョン>'</span><span class="crayon-sy">;</span> |
4.S3EXPORT関数を使用してVerticaのデータをS3にエクスポートします。
例では、date1テーブルの全列のデータをカンマ区切りでS3にエクスポートします。
1 2 3 4 5 |
dbadmin=> SELECT S3EXPORT( * USING PARAMETERS url='s3://test20191211/t1',delimiter=',',record_terminator=E'\n') OVER() FROM t1; rows | url ------+---------------------------------- 3 | https://test20191211/t1.1652e282 ★ エクスポート先と行数が出力されます (1 row) |
※S3EXPORT関数の最初の引数に*(アスタリスク)を設定し全列を対象にしていますが、特定の列をカンマで区切ってデータをエクスポートすることも可能です。
5.S3にエクスポートされていることを確認します。
オブジェクト名が”t1.1652e282″でエクスポートされていることが確認できます。
[S3EXPORT関数の引数]
パラメータ | 内容 |
---|---|
url | S3バケットとオブジェクトのURLを指定します。 HTTPS URLかS3 URLので指定し、URLの長さは最大236文字に制限されています。 URLには「0x01~0x7F」のASCII文字のみを含めることができます。 |
chunksize | 各パーツの最大サイズを設定します。 このパラメータの値はバイト単位で指定します。 例えば、10MBは10485760と指定します。 指定できるサイズは5MBから5GBであり、チャンクの最大数は10,000です。 デフォルト:10485760 |
compression | 指定されたフィルターを使用して、エクスポートされたデータを圧縮します。有効な設定は次のいずれかです。 ・bzip ・none デフォルト: none |
delimiter | 列の区切り文字を指定します。 デフォルト:| (パイプ) |
enclosed_by | 文字列および日付/時刻データの囲み文字を指定します。このパラメーターを省略すると、囲み文字無しでエクスポートされます。 デフォルト:''(空の文字列) |
escape_as | エクスポートされたデータ内の特殊文字(※)を、単なる文字列として認識させるためのエスケープ文字を指定します。 (※)enclosed_byの値を含む デフォルト:\ (バックスラッシュ) |
from_charset | データが現在エンコードされている文字セットを指定します。 |
to_charset | エクスポートをエンコードする文字セットを指定します。 |
prepend_hash | 標準的な追加情報の代わりに、エクスポートされたオブジェクトに割り当てられた一意のハッシュ値を追加するかどうか指定します。 S3バケット名のパスにピリオドが含まれる場合、prepend_hashパラメータをTrueに設定するか、EXPORT構文でファイル拡張子を指定する必要があります。 デフォルト:false |
record_terminator | レコードの終了文字を指定します。 デフォルト:\n |
※compression、enclosed_by、escape_asはv9.3から追加されたパラメータです。
検証バージョンについて
この記事の内容はVertica 9.3で確認しています。更新履歴
2019/12/23 バージョン9.3に対応2017/05/31 本記事を公開