IDCF」に変更となっております。「Yahoo!ビッグデータインサイト」は、一言でいうとビッグデータ分析のためのクラウドサービスです。そのサービス名がちょっと長いので、社内外で「YBI」と略称で呼んでます。いうように明快なステップでビッグデータ分析を始める事ができます。導入時サポートの1つとして過去データのインポートがあります。考えるでしょ?この一括インポートには、コマンドラインツールによるバルクインポートを使うのが有効です。コマンドラインツールを自分のサーバーにインストールしていただいて実行するため、サーバーの負荷はいったいどの程度になるのかご質問をいただくことも事実。バルクインポートの実施方法は別の記事に譲ることとして、今日はバルクインポート実行時のサーバー負荷について検証した結果をご案内します。バルクインポートって?まず最初に軽くおさらい。バルクインポートは、YBIへデータをインポートするための手段の1つで、既存の大容量データを一括でインポートするのに適した方法です。tdコマンドラインツールを使用して実行します。./bulktestlogオプションがいっぱいあってややこしいですね。詳細についてはこちらの記事をご参照いただければと思います。TreasureDataに既存データ(TSV形式)をバルクインポートしてみた今回の検証条件データの中身Webのアクセスログと同等の内容を含んだCSVファイル(bulktestlog)を用意しました。bulktestlogdatetime,host,path,method,code,referer,agent1,000万と1行、約1.3億の単語数、約1.9GBのデータを用意しました。1行目はヘッダ行のため、実データはちょうど1,000万件です。サーバー環境IDCFクラウドに仮想マシンを作成して実行します。64bitで実施しました。仮想マシンサイズを3種類で比較してみます。import:autoコマンドのターンアラウンドタイムは、Linuxのtimeコマンドで計測します。バルクインポート実施中のサーバー負荷の計測には、[メモリ状況]freeコマンドでbuffers/cache考慮後のfreemem、[CPU状況]mpstatコマンドで得られる%usrと%idleを用いることにします。結果バルクインポート実行時間それぞれ3回以上バルクインポートを実施した平均実行時間は次の通りでした。4m47.262s並列度は、--parallelおよび--prepare-parallelのオプションで指定できます。今回は単一ファイルのバルクインポートを実行しており、並列度1の方が早く完了しました。並列度1では仮想マシンサイズによる差はあまり見られませんが、並列度2ではhighcpu.L8が最も早く完了しました。higicpu.L8の仮想マシンはCPUクロック数が他よりも速いので、それが効いているように思います。仮想マシンのサイズ毎に、CPU使用率とメモリ使用量の推移をグラフに表しました。いずれも並列度を1にした時の様子です。並列度1CPU使用率は、バルクインポート開始時に一旦跳ね上がった後、少し低い位置で推移しています。同じタイミングでメモリ使用も始まっています。CPU使用が終了した後、しばらくはメモリ使用されている状態が継続しています。これは、転送用ファイル(msgpack)作成の際にCPUとメモリが使用され、続くファイル転送の際にはメモリだけが使われているようです。続いて並列度を2にした場合の様子です。並列度2CPUコア数が2であるstandard.M8とhighmem.M16の仮想マシンでは、%usrが100%近くまで到達しました。CPUコア数4のhighcpu.L8の仮想マシンでは、50%近くでとどまっています。バルクインポートでは、CPUリソースを最大限近くまで使おうとしているのでしょう。まとめ今回の検証では、次のような結果となりました。バルクインポートの処理では、前準備としてデータを分割してmsgpack形式へ圧縮し、アップロードを行い、YBI内部の処理でファイルのインポートとテーブルへのデータ反映をしています。バルクインポートを実行するサーバーにはCPUクロック数が速いものを準備するのが良いでしょう。バルクインポート実行時にはCPUリソースを目一杯使うことになるので、並列度はCPUコア数よりも少ない程度で調整すると、他のプロセスへの影響を抑えられそうです。検証してみて、複数ファイルをバルクインポートする時のサーバーリソースはどうなのか、疑問が湧いてきました。これは、引き続き検証したいと思います。Inc.▲はてなブログをはじめよう!blog-idcfさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。