Embulk Meetup Tokyo #2 に行ってきました
「Embulk Meetup Tokyo #2」にお邪魔して話を聞いてきたので、感想などまとめておきます。
Embulk Meetup Tokyo #2
http://eventdots.jp/event/575046
Embulk Meetup Tokyo #2 イベントレポート http://eventdots.jp/eventreport/575046
どんな人が来ているのか?
Meetupのはじめにさらっと参加者アンケートの結果を紹介頂きました。
embulkでどこからデータを取得したいか?
S3上のCSVファイルというパターンが多い
他に、MySQL, Oracle, ftpなど
embulkでどこにデータを送りたいか?
Elasticsearchが多い
他に、BigQuery, Redshift, CSVファイルなど
どんな人がこのMeetupに参加しているのか?
Web系のエンジニアが多い
という感じ、
やはり、ログなどの集計を行うためのデータ転送に利用するケースが多いのかなと感じました。
『Embulk - 進化するバルクデータローダ』
TresureDataの古橋さん(@frsyuki)から、embulkのアーキテクチャとロードマップの話。
ざっくり
- embulkが作られた背景:「データの取り込みエラー」と「大きなデータ」をなんとかするため
- embulkのアーキテクチャ:pluginアーキテクチャや並列実行やtransactionの仕組みについて
- 今までのリリース(〜0.7.10)で追加された機能の紹介
- これからのリリース(0.8〜)で追加する予定の機能の紹介
アーキテクチャの話を聞くとPluginを書きたくなりますね。
今のところ、既存のものを利用してなんとかなっているので、
Plugin書いてはいないですが、
embulkを使ってはいるのですが、
常に最新versionをcatchup出来ておらず、
EmbulkEmbed、PluginBundle等の存在を知らなかったので、
機能紹介でよい知識を得られました。
今後、追加される予定の機能のErrorPluginでは、
取り込みエラーの情報をカスタマイズ出来るようになるそうなので、
この機能は、実運用に取り込みたいですね。
データ起因のエラーを調査するのは、工数がかかってしまいがちなので、
発見する仕組みを作れるのは嬉しいので。
『Embulk at Treasure Data, Inc.』
TresureDataの赤間さん(@oreradio)から、embulkをTresureDataでどのように使っているか、とOSSとの関わりについて。
ざっくり
- TresureDataでは、基本的にOSS版のembulkと同等のものをサービスとしてHostしている
※OSS版をそのように利用しているという事実を、導入の判断材料の一つにして欲しいとのこと - OSSコミュニティとの関わり:
embulkのCoreな部分やテストはTresureDataが中心に。
TresureDataでは抑えきれない様々なミドルウェアのPluginがOSSで作られるとよいと考えている。 - Hostedサービスの流れ
APIでリクエストを受けて、キューに入れて、Workerが順に処理を実施。
ただし、GuessやPreviewの部分はキューに入れずに、API側で実行する仕組み。
GuessやPreviewはキューで処理せずにAPI側で実行するというところで、
「あー、そうか、そういうに構成組めばいいのか」と言う感想。
guessとpreviewは、インタラクティブであることが求められ、
バッチサーバでの処理では扱いにくかったので。
機能自体をほとんど使っていなかったので。。
各社の事例など
embulkを利用している企業の方から、どのように利用しているかの紹介。
ニフティ 新美さん『新人がEmbulk mBaaSプラグインを開発した話』
スライド:
http://www.slideshare.net/yuyaniimi/20151215-embulk
Q&Aで「embulkプラグイン作るの難しいの?」という話題が上がっていました。
template generatorでひな形作れるけど、
中身の実装は、他のプラグインを読みながら書く感じなので、
新人のOJTでやる課題としては難しいのでは?
という感じですね(会場の雰囲気として)。
参考:Customization - embulk
http://www.embulk.org/docs/customization.html
DeNA 中山さん 『Embulkに足りない5つのコト』
スライド:
https://speakerdeck.com/civitaspo/embulknizu-rinai5tufalsekoto
embulkでデータ取り込む際の前処理とかいろいろやることがあるという話。
twitterのTLでdigdagというツールで、
なんとかできるんじゃないか、と話題が上がっていました。
参考:digdag
https://github.com/treasure-data/digdag-docs
GMOインターネット 吉澤さん『あえてEmbulkを使ってログ監視すると幸せになれる状況、およびその導入事例』
参考記事はこちら
- http://recruit.gmo.jp/engineer/jisedai/blog/struggle-against-too-many-errors/
- http://recruit.gmo.jp/engineer/jisedai/blog/embulk-elasticsearch-kibana-postgresql/
たまっている有象無象のログをembulk使って集計して、
サービスの状況をなんとか可視化しようという泥臭い話。
embulkのparserで、こういう使い方をするのもありなんだなと、思いました。
池添さん『Embulkを活用したログ管理システム』
スライド:
http://www.slideshare.net/zoetrope/embulk
ログなんだけど、fluentで送ることが出来ない環境なので、embulkを使ってログ管理をしたという話。
と、その際にgrokのparserを実装したのでその紹介。
embulk-parser-grok
https://github.com/arielnetworks/embulk-parser-grok
今回meetupに参加してみて感じたのは、
embulk自体、開発が活発なので、情報のアンテナを貼っておいた方がお得だなと思いました。
それと、必要あればPluginも書こうかなと。。