AsakusaFWで、WindGateを使用したCSVファイルを対象にWordCountを作ってみた。
ちょっとWindGateを誤解していた。
いや、今まで聞いた説明をちゃんと消化できていなかったと言うべきだが(苦笑)
WindGateを使ったプログラミングが今までと大きく違う部分は、DMDLに@windgate.csvというアノテーションを指定し、Importer/Exporterクラスが生成されるのでそれらを使うようになったこと。
というかそれだけしか違わないので、今までは「HDFS上に置かれたSequenceFileを処理対象としていた」のが、「HDFS上に置かれたCSVファイルを処理対象に出来る」になったと思い込んでいた。
実際は、WindGateがローカルシステム上のCSVファイルを読み込んでHDFSにSequenceFileとして出力し、AsakusaFW本体は今まで通りSequenceFileを読み込んで処理する。
WindGateはデータ転送を行うツールなんだから、WindGateがCSVファイルに対応したというのは、こういう事だよなぁ。
単独環境でテスト実行するだけなら気付かない(どうせテストだし、どこにファイルが置かれるかはあまり気にしなかった)けど、分散環境で動かしてみたら一目瞭然。
まぁ、PigやHiveでもcopyFromLocalやload data localでローカルファイルをHDFSに転送するコマンドはあったから、それらとも比較できるようになったということか。
あと、直接は関係ないけど、VMware Playerの仮想マシンを複数同時に起動するバッチファイルを作ってみた。
仮想分散環境を起動させるのに便利(笑)