logo

グーグルのクラウドを支えるテクノロジー > 第9回 MapReduceをバックエンドにした分散型データ処理基盤 FlumeJava

CTC教育サービスはコラム「グーグルのクラウドを支えるテクノロジー > 第9回 MapReduceをバックエンドにした分散型データ処理基盤 FlumeJava 」を公開しました。

###
はじめに
 今回は、2010年に公開された論文「FlumeJava: Easy, Efficient Data-Parallel Pipelines」をもとにして、分散型のデータ処理基盤を提供する「FlumeJava」を紹介します。一般に、分散データ処理の方式には、バッチ型のデータ処理とストリーミング型のデータ処理があります。FlumeJavaは、バッチ型のデータ処理に特化した基盤となります。
 ちなみに、Google Cloud Platform(GCP)では、分散データ処理サービスとして、Cloud Dataflowが提供されています。これは、今回紹介するFlumeJavaと、ストリームデータ処理基盤であるMillWheelの技術を統合して開発されたものです。今回は、FlumaJavaの解説を通して、Cloud Dataflowのバッチ処理機能の基礎を学びましょう。

MapReduceを汎用化したデータ処理モデル
 FlumeJavaの仕組みを説明する前に、まずは、ユーザー視点でどのようなデータ処理ができるのかを整理しておきます。分散データ処理技術というとMapReduceが有名ですが、MapReduceの場合は、内部的に次の3つの処理が行われます。

•Map:すべてのデータに同一の処理を適用して(Key, Value)形式で結果を出力
•Shuffle:Keyの情報を用いてデータをグループ化
•Reduce:グループごとに同一の処理を適用

この続きは以下をご覧ください
リンク

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。