はじめに
Verticaは、クライアント上にあるCSVファイルをリモートサーバのデータベースにロードすることができます。
DBサーバにCSVファイルをコピーする手間を省くことができるので、「DBサーバにCSVファイルを配置する空き領域がない場合」や「セキュリティの制約でOSユーザでDBサーバにログインさせたくない場合」に利用できます。
構文
copyコマンドの実行時に「local」パラメータを使用し、ロード対象のファイルを指定します。
copy <テーブル名> from local ‘<ファイルパス>’ ;
実行例
事前にクライアントにvsqlをインストールします。vsqlのインストール方法は「Verticaクライアントの導入」で詳しく解説しているので、参考にしてください。
//DBサーバに接続
$ vsql -h <リモートサーバIP>
Password:
Type: \h or \? for help with vsql commands
\g or terminate with semicolon to execute query
\q to quit
//クライアント上のCSVをロード
dbadmin=> copy t_test from local '/tmp/test.csv' ;
Rows Loaded
-------------
10
(1 row)
//1コマンドで実行する場合
$ vsql -h <リモートサーバIP> -U <ユーザ名> -w <パスワード> -c"copy t_test from local '/tmp/test.csv'"
Rows Loaded
-------------
10
(1 row)参考情報
データロードの基本
https://www.ashisuto.co.jp/cm/analytics-database/dataload_overview.html
検証バージョンについて
この記事の内容はVertica 9.1で確認しています。