はじめに
Verticaは、クライアント上にあるCSVファイルをリモートサーバのデータベースにロードすることができます。DBサーバにCSVファイルをコピーする手間を省くことができるので、「DBサーバにCSVファイルを配置する空き領域がない場合」や「セキュリティの制約でOSユーザでDBサーバにログインさせたくない場合」に利用できます。
構文
copyコマンドの実行時に「local」パラメータを使用し、ロード対象のファイルを指定します。copy <テーブル名> from local ‘<ファイルパス>’ ;
実行例
事前にクライアントにvsqlをインストールします。vsqlのインストール方法は「Verticaクライアントの導入」で詳しく解説しているので、参考にしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//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) |
参考情報
データロードの基本http://vertica-tech.ashisuto.co.jp/dataload_overview/