Verticaでcsvの情報をテンポラリーテーブルに入れて利用する
まずはcsvをutf-8の形式でsqlがあるディレクトリと同じディレクトリに格納する。
その上でSQLは以下の通り
\set pwd `pwd` \set sample_file ‘’’’:pwd’/sample.csv’’’ Create local temporary table T1 ( SAMPLE_COL1 int ,SAMPLE_COL2 varchar(10) ) ON COMMIT PRESERVE ROWS; COPY T1 FROM LOCAL :sample_file DELIMITER ‘,’ NULL ‘’ DIRECT SKIP 1;
COPYコマンドの
「DELIMITER」は区切り文字を指定。
「NULL ''」はNULL値の扱いについて記載。
「SKIP 1」はCSVの先頭行がヘッダーのことが多いのでそれを飛ばしています。
なお、pwdとは、present working directoryの略で「今作業しているディレクトリ」という意味です。 もう少し正確に言うと「現在のディレクトリを絶対パスで表示するためのコマンド」となります。
techacademy.jp
つまりはカレントディレクトリにあるcsvをテンポラリーテーブル T1に入れている感じです。
Create local temporary Table に関してはいかにリファレンスがあります。
www.vertica.com
CSVのデータをロードするCOPYコマンドに関しては以下の記事が参考になります。
vertica-tech.ashisuto.co.jp
www.vertica.com
vertica-tech.ashisuto.co.jp