2014年9月17日水曜日

cpimportを使ってInfiniDBにデータをロードするシンタックスだけメモ

速度比較とかしてないし、明らかにこっちの方が速かったのでたぶん調べない。シンタックスだけメモ。テーブルは予めmysqlコマンドラインクライアントから作っておく。


# /usr/local/Calpont/bin/cpimport d1 t1 -s "\t" -e 1000000000 < ./fifo
Locale is : C
Column delimiter : \t

Using table OID 3013 as the default JOB ID
Input file(s) will be read from : STDIN
Job description file : /usr/local/Calpont/data/bulk/tmpjob/3013_D20140917_T173443_Job_3013.xml
Log file for this job: /usr/local/Calpont/data/bulk/log/Job_3013.log
2014-09-17 17:34:43 (24078) INFO : successfully loaded job file /usr/local/Calpont/data/bulk/tmpjob/3013_D20140917_T173443_Job_3013.xml
2014-09-17 17:34:43 (24078) INFO : Job file loaded, run time for this step : 1.10977 seconds
2014-09-17 17:34:43 (24078) INFO : PreProcessing check starts
2014-09-17 17:34:47 (24078) INFO : PreProcessing check completed
2014-09-17 17:34:47 (24078) INFO : preProcess completed, run time for this step : 3.65073 seconds
2014-09-17 17:34:47 (24078) INFO : No of Read Threads Spawned = 1
2014-09-17 17:34:47 (24078) INFO : No of Parse Threads Spawned = 3
2014-09-17 17:34:47 (24078) INFO : Reading input from STDIN to import into table d1.t1...
2014-09-17 17:36:41 (24078) INFO : Number of rows with errors = 18.  Row numbers with error reasons are listed in file /tmp/hoge/data/d1.tbl.Job_3013_24078.err
2014-09-17 17:36:41 (24078) INFO : Number of rows with errors = 18.  Exact error rows are listed in file /tmp/hoge/data/d1.tbl.Job_3013_24078.bad
2014-09-17 17:36:42 (24078) INFO : For table d1.t1: 19680191 rows processed and 19680173 rows inserted.
2014-09-17 17:36:42 (24078) INFO : Bulk load completed, total run time : 120.018 seconds

-sでフィールドセパレーターを指定。省略時は"|"らしい。
-eで無視するパースエラーの数を指定する。暗黙のデフォルトは10。この状態だと11回目のパースエラーが発生した状態でcpimportがまるっとアボートする。
-rで読み込みスレッド, -wでパーサースレッドの数を指定。12コアのマシン(HTで24スレッド)で8, 8くらいが良さそうだった。200MB/sくらい出てたからとりあえず十分。

0 件のコメント :

コメントを投稿