はじめに
AWSに構築したVerticaからS3にデータをエクスポートできます。
以下にその方法をご紹介します。

VerticaのデータをAWSのS3にエクスポートする手順
1.VerticaでAWSアクセスキーIDを設定します。
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_id = 'AWSアクセスキーID';2.VerticaでAWS Secret Accessキーを設定します。
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_secret = 'AWS Secret Accessキー';3.Verticaでリージョンを設定します。
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_region = 'リージョン';4.S3EXPORT関数を使用してVerticaのデータをS3にエクスポートします。
例では、date1テーブルの全列のデータをカンマ区切りでS3にエクスポートします。
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を指定します。 |
chunksize | 各パーツの最大サイズを設定します。 |
compression | 指定されたフィルターを使用して、エクスポートされたデータを圧縮します。有効な設定は次のいずれかです。 |
delimiter | 列の区切り文字を指定します。 |
enclosed_by | 文字列および日付/時刻データの囲み文字を指定します。このパラメーターを省略すると、囲み文字無しでエクスポートされます。 |
escape_as | エクスポートされたデータ内の特殊文字(※)を、単なる文字列として認識させるためのエスケープ文字を指定します。 |
from_charset | データが現在エンコードされている文字セットを指定します。 |
to_charset | エクスポートをエンコードする文字セットを指定します。 |
prepend_hash | 標準的な追加情報の代わりに、エクスポートされたオブジェクトに割り当てられた一意のハッシュ値を追加するかどうか指定します。 |
record_terminator | レコードの終了文字を指定します。 |
※compression、enclosed_by、escape_asはv9.3から追加されたパラメータです。
検証バージョンについて
この記事の内容はVertica 9.3で確認しています。
更新履歴
2019/12/23 バージョン9.3に対応
2017/05/31 本記事を公開