Java女子部もくもく会でEmblukをほんのり触ってみる

2015年4月26日、Java女子部でもくもく会を実施しました。要するに自主勉強会ですね〜

結構最初の方はばたばた運営していて作業できなかった(お昼ご飯食べてたとかいうゆるい事情もある)んですが、15時頃から私もゆるゆる勉強開始。このブログは今日の個人目標である

Emblukをなんとなく触ってみる

をやってみたまとめブログです。

Emblukとは〜という内容については本家で詳しく説明されていたりするので、詳しく読んでいただければと思うのですが、ざっくりいうと、fluentdのバッチバージョンみたいな。大きなデータファイルをフォーマットして、アウトプット先に流し込む(速度速い)、という代物です。

私の会社でいうとお客さんからぽーんともらったプレ分析用のでっかいファイルとかをよきようにDB突っ込んだりできるかな〜と思って触ろうとしたのがきっかけ。

本当はjavaのもくもく会だったのでプラグインを使って実際にデータのアウトプットまでやりたかったのですが、運営していたり(←言い訳)PyLadis関連のお仕事したり、とかしてたらアウトプットの準備するところまでしか進みませんでした。。。が、この部分が割と運用さん好みな作りになっていたので、とりあえずレポート。

1.とにかくインストールしよ
wget https://bintray.com/artifact/download/embulk/maven/embulk-0.6.5.jar
emblukのダウンロードサイトからjarを持ってきます。

java -jar embulk-0.6.5.jar --help
ヘルプコマンド打つといろいろな情報が頂けます。

2. あとは概ね以下サイトを模写します。

http://dev.classmethod.jp/tool/embulk-ataglance/

こちらのサイトが本当によくまとまっているので、自分がやった作業についての記載は省略。。。各種コマンド自体は上記サイトでもみれますし、そもそもEmblukのhelpコマンドや例題ソース実行後に何をやったらいいか説明が出てくる親切仕様w 例題データを動かすだけなら簡単にやれちゃいます。

3. やってみた感想とか。

2を実施してみて、「ほう!」と思ったのはguessコマンド。input対象のファイルから、outputに必要な定義(カラム定義とか)を出力してくれるという素敵コマンド。元々は設定ファイルを作成する手間を省くための機能だと思うんですが、個人的にはデータファイルのやり取りのフォーマットチェックに使えるのではないかと、ぼんやり考えていました(超運用思考)。

ファイルの圧縮型やカラムの日付フォーマットまで、全部出力されますので、もらってきたデータファイルにguessコマンドをかませて、出力されたデータファイルフォーマットを事前に確認しておけば、改行コードとかカラム数とか日付型の精査をいちいちコマンド叩いて確認したり、お手製のフォーマットチェックツールかませたりしなくても、いいわけです。事前にファイルフォーマットの定義ファイル作っておけば、定義ファイルどうしの差分取るだけでフォーマットチェックできますね!チェックツールを揃える(しかもわかりやすいし証跡も残る)という点ではとてもよい機能だと思いました。

実際に常時稼動な運用に乗せるのであればfluentdでログ収集とかしたほうがそりゃぁ断然使いやすいわけですが、ちょっとアドホック的なデータの取り扱いとか、初期データ移行とか、「サービス」というよりは「便利ツール」的な立ち位置で利用用途の想像が膨らみそうだな、と思いましたとさ。

今度うちのチームでもつかってみようかしら〜

最後に。
こちらもくもく会の様子です。
11174211_773248219449329_1637616572551531982_o

もくもく会は今後定期的にJava女子部で開催していく予定ですので、よろしければ皆様お越しくださいませ〜!

広告