はじめに
VerticaでAWSのS3からデータロードすることはVertica7.2.2から可能になりました。VSQLを使用してAWSのS3からデータをロードする手順をご紹介します。
AWSのS3に保存されているCSVをロードする手順
1.VerticaでAWS_ACCESS_KEY_IDを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_id = '<AWS_ACCESS_KEY_ID>'; |
2.VerticaでAWS_SECRET_ACCESS_KEYを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_secret = '<AWS_SECRET_ACCESS_KEY>'; |
3.Verticaでリージョンを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_region = '<リージョン>'; |
4.COPYコマンドを使用してS3のデータをロードします。
1 |
dbadmin=> COPY test SOURCE S3(url='<URL>'); |
実行例
S3に存在するCSVファイルをVerticaにロードします。・S3のファイル内容を確認します。
test.csvの内容
1,”AAA”
2,”BBB”
3,”CCC”
2,”BBB”
3,”CCC”
・AWS_ACCESS_KEY_IDを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_id='xxxxxxxxxxxxxxxxxx'; |
・AWS_SECRET_ACCESS_KEYを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_secret='xxxxxxxxxxxxxxxxxxxxxxxxxx'; |
・リージョンを設定します。
1 |
dbadmin=> ALTER SESSION SET UDPARAMETER FOR awslib aws_region='ap-northeast-1'; |
・COPYコマンドを使用してS3のtest.csvをロードします。
1 |
dbadmin=> COPY test SOURCE S3(url='s3://csvdata01/test.csv') delimiter ',' enclosed by '"'; |
・ロードした結果を確認します。
1 2 3 4 5 6 7 |
dbadmin=> select * from test; col1 | col2 ------+------ 1 | AAA 2 | BBB 3 | CCC (3 rows) |
その他
Management Consoleを使用してAWSのS3からロードする場合は以下のURLを参照ください。http://vertica-tech.ashisuto.co.jp/aws_s3_vertica_mc_load/