OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

S3のデータをVerticaにロードする~セッションレベルでのAWSパラメータ設定~(Vertica 9.1新機能)

公開日:
更新日:
データロード
新バージョン/機能
#AWS
#COPY
#パラメータ
#セッション

はじめに

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

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

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

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

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

以下のパラメータが設定可能です。
なお、パラメータごとにセッションレベル、データベースレベルでの変更可否が異なりますので、ご注意ください。

パラメータ

説明

セッションレベル

データベースレベル

AWSAuth

AWS認証に使用するアクセスキー ID とシークレットアクセスキー

変更可能

AWSEndpoint

VPCエンドポイントのアドレス

変更可能

変更可能

AWSRegion

S3バケットが存在するリージョン

変更可能

変更可能

AWSCAPath

SSLサーバー証明書を検索するために使用するパス

変更可能

AWSCAFile

SSLサーバー証明書バンドルのファイル名

変更可能

AWSEnableHttps

S3に接続するときのHTTPSプロトコル使用可否

変更可能

AWSLogLevel

AWSコンポーネントのログレベル

変更可能

セッション単位での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

利用例

dbadmin=> ALTER SESSION SET AWSAuth='xxxxx:zzzzzzzzzz';
dbadmin=> ALTER SESSION SET AWSRegion='ap-northeast-1';

dbadmin=> COPY table1 FROM 's3://kka/load-data/table1.csv' delimiter ',' enclosed by '"';

 Rows Loaded
-------------
           10
(1 row)

参考情報

○vsqlを使用してS3のデータをVerticaにロードする方法
 ・Vertica 7.2.2以降
 https://www.ashisuto.co.jp/cm/analytics-database/vsql_s3_load.html

 ・Vertica 9.0以降
 https://www.ashisuto.co.jp/cm/analytics-database/copy_directly_s3.html

○Management Consoleを使用してS3のデータをVerticaにロードする方法
 https://www.ashisuto.co.jp/cm/analytics-database/aws_s3_vertica_mc_load.html

○Verticaのパラメータ設定方法
 https://www.ashisuto.co.jp/cm/analytics-database/parameters_on_vertica.html

検証バージョンについて

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