pandazx's blog

データ分析など雑多な技術ブログ

Verticaのテーブル作成とCSVインポート

テーブル作成

command.sql にcreate文があるとする。

vsql -U dbadmin -w password -f command.sql

インポート

vsql -U dbadmin -w password -c "copy table_name from 'csv_full_path' delimiter ',' DIRECT"

nullという文字列をNULL値としてインポートして欲しい場合

vsql -U dbadmin -w password -c "copy table_name from 'csv_full_path' delimiter ',' NULL 'null' DIRECT"

NULL値の指定をした場合、,,というような空文字しかないカラムがあるレコードは無視される場合があるので注意。インポートされた件数が表示されるので必ず確認すること。

verticaはエラー行があっても、何も言わずに無視するので注意。
そのため、インポートするCSVにヘッダ行があって、スキーマ違反の場合にも何も言わない。