Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

ApacheCon NorthAmerica 19 に参加、登壇してきました!

こんにちは。メルペイ DataPlatform チームの @syucream です。

この記事では、先日開催された ApacheCon NorthAmerica 19 の参加レポートです。 筆者とメルカリ DataPlatform チームの @shoe116 の二名が登壇をしたので主にその内容について触れます。

ApacheCon NorthAmerica 19 について

Apache project のソフトウェアや関連した内容を取り扱うカンファレンスです。 近年の傾向だと、年数回に北アメリカとヨーロッパ中心に開催されているようです。 今回のイベントは今月 9 月 8 日から 12 日にかけて 4 日間、ラスベガスにて開催されました。

今回の ApacheCon は Apache Beam の内容にフォーカスしたカンファレンス、 Beam Summit との同時開催になっていました。 Apache Beam は以下のように過去に当ブログで紹介した通り、メルカリとメルペイのデータ処理におけるコア技術です。

Apache Beam を使ったユースケースやデータ基盤の技術要素を紹介すること、他社事例やコミュニティの活動をキャッチアップすることは我々にとっても有益なため、メルカリとメルペイから二名参加した次第でした。

@shoe116 の発表: Creating Stream DataPipeline on GCP Using Apache Beam

メルカリとメルペイのストリームデータパイプラインのデザインの話です。 基本的には以前の記事で紹介した通りなのですが、耐障害性を高めるための DeadLetter 機構や、複雑な処理を実施する前に Raw Data を保存する構成などについて触れています。 この資料に、我々の構築している現在のストリームデータパイプラインのエッセンスがほとんど記載されていると思います。

speakerdeck.com

@syucream の発表: Production-ready stream data pipeline in Merpay, Inc

Google Cloud Dataflow 上で動かすジョブを開発、運用する上で我々が実施しているノウハウを紹介しました。 実は Dataflow には公式のドキュメントが無かったり情報が乏しい機能があり、それらを活用することで日々の開発が便利になったりします。 特に Stackdriver との連携は無料で利用できる機能も多くかんたんに利用開始可能だったりします。

speakerdeck.com

余談ですがこの発表で触れている Dataflow のジョブの負荷テストについても触れているのですが、負荷を掛けるための Dataflow Template Job を公開してみました。 同じように負荷テストの実施について悩んでる方のなにかの参考になれば幸いです。

github.com

気になった発表など

今回の ApacheCon では複数のビッグデータ関連プロジェクトの紹介や最近の活動についての発表があったのですが、特に以下のプロジェクトが気になりました。

  • Apache Pulsar
    • Pulsar Functions というストリーム処理を行える機能が紹介されていた
    • 実は Schema Registry を提供していてその紹介もあった
  • Apache Griffin
    • データの品質管理をするためのプラットフォーム
    • 品質をユーザが定義して、それに従いメトリクスを計算する仕組みを提供する
  • Apache Parquet
    • 最近サポートされたらしいカラムレベル暗号化についての紹介がされていた
    • 暗号化、復号処理をライブラリ内に隠蔽し、 Spark などのフレームワークに対しては拡張を提供して連携をシンプルにしようと努めているようだった

肝心の Beam Summit で言うと、 Timer/State といった高度な API の利用や Lyft でのユースケース、 Go SDK についての発表がありました。 これらの発表ビデオについては、後ほど Apache Beam の Youtube channel で公開される予定のようです。

www.youtube.com

おわりに

メルカリで ApacheCon に登壇したのはこれが初めてかと思われます。 メルカリでは多岐に渡る OSS を活用しており、こういったオープンな場でのアウトプットを増やしていければと思います。 特に海外カンファレンスに参加することで、よりコミュニティの状況を知れたりグローバルな市場でサービスが認知されるチャンスも生まれますので、今後も積極的に参加していきたく考えています。