はじめに

Vertica 9.0では、S3からデータロードをする際にデータベースレベルでリージョンなどのAWSパラメータの設定を行う必要がありました。
9.1からは、セッションレベルでのパラメータ設定が可能となり、データベースレベルの設定を変更することなく、異なるリージョンにあるS3や通常とは異なるエンドポイントを使用したロードができます。

この記事では、その設定方法をご紹介します。


※データベースレベルでの設定方法については、以下の記事をご参照ください。
 (S3を参照するために必要な事前準備についても掲載されています)

  S3のデータをVerticaにロードする/外部テーブルを使用してS3内のデータファイルを検索する

Verticaで設定可能なAWSパラメータ

以下のパラメータが設定可能です。
なお、パラメータごとにセッションレベル、データベースレベルでの変更可否が異なりますので、ご注意ください。
パラメータ説明セッションレベルデータベースレベル
AWSAuthAWS認証に使用するアクセスキー ID とシークレットアクセスキー変更可能
AWSEndpointVPCエンドポイントのアドレス変更可能変更可能
AWSRegionS3バケットが存在するリージョン変更可能変更可能
AWSCAPathSSLサーバー証明書を検索するために使用するパス変更可能
AWSCAFileSSLサーバー証明書バンドルのファイル名変更可能
AWSEnableHttpsS3に接続するときのHTTPSプロトコル使用可否変更可能
AWSLogLevelAWSコンポーネントのログレベル変更可能


セッション単位でのS3データロード方法

コマンド構文

<AWSパラメータ設定>
ALTER SESSION SET AWSAuth=’< アクセスキーID >:< シークレットアクセスキー >’;
ALTER SESSION SET AWSRegion=’< S3バケットのリージョン >’;

セッションレベルで設定したパラメータは、「SHOW SESSION パラメータ名 | all ;」コマンドで設定値の確認が可能です。

<copyコマンド>
COPY テーブル名 FROM ’s3://ロード対象ファイル’ オプション;

S3バケットに対して利用できる copy コマンドのオプションはマニュアルをご参照ください。
 Specifying COPY FROM Options

利用例


参考情報

○vsqlを使用してS3のデータをVerticaにロードする方法
 ・Vertica 7.2.2以降
 http://vertica-tech.ashisuto.co.jp/vsql_s3_load/

 ・Vertica 9.0以降
 http://vertica-tech.ashisuto.co.jp/copy_directly_s3/

○Management Consoleを使用してS3のデータをVerticaにロードする方法
 http://vertica-tech.ashisuto.co.jp/aws_s3_vertica_mc_load/

○Verticaのパラメータ設定方法
 http://vertica-tech.ashisuto.co.jp/parameters_on_vertica/

検証バージョンについて

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