はじめに

AWSに構築したVerticaからS3にデータをエクスポートできます。
※Vertica7.2からの機能。
以下にその方法をご紹介します。


VerticaのデータをAWSのS3にエクスポートする手順


1.VerticaでAWS_ACCESS_KEY_IDを設定します。


2.VerticaでAWS_SECRET_ACCESS_KEYを設定します。


3.Verticaでリージョンを設定します。


4.S3EXPORT関数を使用してVerticaのデータをS3にエクスポートします。
  例では、date1テーブルの全列のデータをカンマ区切りでS3にエクスポートします。

※S3EXPORT関数の最初の引数に*(アスタリスク)を設定し全列を対象にしていますが、特定の列をカンマで区切ってデータをエクスポートすることも可能です。

5.S3にエクスポートされていることを確認します。
オブジェクト名が”date1.24c0a7bf”でエクスポートされていることが確認できます。

[S3EXPORT関数の引数]

パラメータ内容
urlS3バケッドとオブジェクトのURLを指定します。
HTTPS URLかS3 URLので指定し、URLの長さは最大236文字に制限されています。
delimiter列の区切り文字を指定します。

デフォルト:| (パイプ)
multipartマルチパートアップロードが有効(true)か無効(false)かの設定をします。

デフォルト:true
chunksize各パーツの最大サイズを設定します。
このパラメータの値はバイト単位で指定します。
例えば、10MBは10485760と指定します。
指定できるサイズは5MBから5GBになります。
チャンクの最大数は10,000ですので、この制限を超えないようにチャンクサイズを指定する必要があります。

デフォルト:10485760
record_terminatorレコードの終了文字を指定します。

デフォルト:\n
from_charsetデータが現在エンコードされている文字セットを指定します。
to_charsetエクスポートをエンコードする文字セットを指定します。
prepend_hashエクスポートされたオブジェクトに割り当てられた一意のハッシュ値を、標準的な追加情報の代わりに追加します。
S3バケットのパスにピリオドが含まれている場合は、prepend_hashパラメータをTrueに設定する必要があります。

デフォルト:false


S3EXPORT関数の制限事項

・S3EXPORT関数を使用する場合、OVER句の指定が必要になります。
・引数のurlで指定したオブジェクト名でデータがエクスポートされますが、オブジェクト名には一意のハッシュ値が追加されます。
・引数のurlで使用できる文字はASCII文字だけです。
・チャンクサイズを超える場合はファイルが分割されてエクスポートされます。
 チャックサイズのデフォルト値は10MBで、最大サイズは5GBまで指定可能となっています。

検証バージョンについて

この記事の内容はVertica 8.1で確認しています。