「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を使ってログ監視すると幸せになれる状況、およびその導入事例』

参考記事はこちら

たまっている有象無象のログを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も書こうかなと。。