驚くほど簡単な技術系健忘録

驚くほど簡単な技術系健忘録

アプリやWebサービス、RPAを作る上での健忘録を書いていきます。

Verticaでcsvの情報をテンポラリーテーブルに入れて利用する

まずはcsvutf-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