CSVデータのロード方法
CSVデータのロードは、データベースにログインし、COPYコマンドを使用します。区切り文字の指定には「DELIMITER」パラメータを使用し、囲み文字の指定には「ENCLOSED BY」パラメータを使用します。
構文
1 |
dbadmin=> COPY スキーマ名.テーブル名 FROM 'CSVファイル名' DELIMITER '区切り文字' ENCLOSED BY '囲み文字' DIRECT; |
実行例
以下のように、区切り文字がカンマ、囲み文字がダブルクォーテーションのデータをロードした場合の実行例をご紹介します。【CSVファイルの内容】
1 2 3 |
"1","AAA","あああ" "2","BBB","いいい" "3","CCC","ううう" |
【実行例】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
dbadmin=> \d public.test_table; List of Fields by Tables Schema | Table | Column | Type | Size | Default | Not Null | Primary Key | Foreign Key --------+------------+--------+-------------+------+---------+----------+-------------+------------- public | test_table | col1 | int | 8 | | f | f | public | test_table | col2 | varchar(30) | 30 | | f | f | public | test_table | col3 | varchar(30) | 30 | | f | f | (3 rows) dbadmin=> COPY public.test_table FROM '/tmp/test.csv' DELIMITER ',' ENCLOSED BY '"' DIRECT; Rows Loaded ------------- 3 (1 row) dbadmin=> SELECT * FROM public.test_table; col1 | col2 | col3 ------+------+-------- 1 | AAA | あああ 2 | BBB | いいい 3 | CCC | ううう (3 rows) |
参考情報
・データロードのまとめ記事http://vertica-tech.ashisuto.co.jp/load-summary/