BT

InfoQ ホームページ ニュース GoogleがCloud Dataflow Java SDKをオープンソースに

GoogleがCloud Dataflow Java SDKをオープンソースに

ブックマーク

原文(投稿日:2014/12/18)へのリンク

Googleは今年初め,Cloud Dataflowを発表した。大量のデータをバッチ,あるいはリアルタイムで処理するためのサービスとSDKだ。そして今回,同社はDataflow Java SDKをオープンソースにした。開発者がその動作内容を確認したり,オンプレミスあるいはクラウド上で動作するサービスにSDKを使用することが可能になる。

Dataflowは,FlumeJava - データ並列パイプラインを生成するJavaライブラリ - と,MillWheel - フォールトトレラントなストリーム処理アプリケーション構築のためのフレームワーク - から発展させた技術を採用した,クラウド上のサービスである。いずれもGoogle社内の“数百人の開発者”によって利用されているものだ。サービス自体は言語に依存しないが,Googleはアプリケーション開発を容易にするためにJava SDKを提供している。

Dataflowが採用する中心的な概念は,“入力データソースを読み込み,データを変換し,結果を出力として書き込む,という一連のオペレーション”で構成されるパイプラインだ。データは有限サイズないし無限サイズのコレクション(Collection)に編成され,いくつものトランスフォーメーション(Transformation)へと送られる。トランスフォーメーションは,入力となるコレクションを操作して,出力のコレクションを生成するデータ処理である。パイプラインを実行する環境は,パイプライン・ランナ(Pipeline Runner)と呼ばれる。SDKでは,ローカルマシン用のDirectPipelineRunner,Google Cloud Platform用のDataflowPipelineRunner,同じくGoogle Cloud用で,実行ステータスをログメッセージとして表示するBlockingDataflowPipelineRunnerの3つが提供されている。

パイプラインは,トランスフォーメーションを線形に順次実行するシンプルなものでも,ブランチした後にマージするような,トランスフォーメーションパスを持った有向グラフなどの複雑なものでもよい。パイプラインではデータの共有や,別のパイプラインでトランスフォーメーションを行うことはできない。また,パイプラインは非同期に動作するので,Dataflowサービスでは,いくつかのトランスフォーメーションを実行する順序を決めておいて,プロセス全体を効率面で最適化することも可能だ。

DataflowアプリはGoogle Cloud Platformにデプロイすることも可能だ。コードを実行するVMの提供やデータストレージ,あるいはデータ処理のためのBigQuery機構といったすべてのインフラストラクチャを,Google Cloud Platformが処理してくれる。他のランナを使ってローカルに,あるいは他のクラウドにデプロイして,同様のサービスを開発することも可能だ。

Dataflow SDKには利用例が付属する。開発者の質問に答えるStack Overflowのタグも用意されている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。