Google、大規模データをリアルタイムに分析できるクラウドサービス「Google Cloud Dataflow」を発表。「1年前からMapReduceは使っていない」。Google I/O 2014

2014年6月27日

大規模分散処理のフレームワークとしてGoogleが開発し、Hadoopに採用されて広く使われているMapReduce。しかしGoogleはもうMapReduceを使わず、より優れた処理系の「Google Cloud Dataflow」を使っていることが、Google I/O 2014の基調講演で明らかにされました。

fig

GoogleのシニアバイスプレジデントUrs Hölzle氏は、「エクサバイトのスケールまで扱え、パイプライン処理を記述しやすく最適化もしてくれる。それにバッチもリアルタイム分析も同じコードで記述できる」と、Cloud Dataflowの特長を説明します。

Google I/Oの基調講演から、Google Cloud Dataflowの解説部分を紹介します。

バッチ処理もストリーム処理も同一コードで書ける

Cloud Dataflowはシンプルなフルマネージドサービスで、データの取得、変換、分析、分類の一連の処理をバッチでもリアルタイムでも処理できる。

プログラマが分析処理のプログラムを書き、Cloud Dataflowに送ると、最適化、展開、スケジューリング、モニタリングをCloud Dataflowが行ってくれる。

fig

デモとして、ワールドカップ関連の何百万ものツイートを、それぞれネガティブかポジティブかを分析し国別に分類する、というものを作ってみた。

まずはCloud Pub/SubからのJSONストリームを受け取る。ここではパイプラインをストリームモードで動作させているが、バッチモードもできる。

fig

次にデータ変換やマッピングを行う。Google Translate APIなどを使えるし、並列処理を最適化してくれる。

fig

そしてデータ分析の部分。ここでは3分間のスライディングウィンドウを設定し、それに対して分析を行う。データのシャッフリングなどは全部Cloud Dataflowがやってくれるので、プログラマが心配する必要はない。

fig

Dataflow Consoleから管理画面を呼び出すと、処理のトポロジーが分かりやすく表示される。これまでに524万ツイートを処理したようだ。

fig

Googleが1年前にMapReduceの利用をやめた理由がお分かりだろう。Cloud DataflowはMapReduceでステップごとに実行していたパイプライン全体を提供し、しかもスケーラビリティや並列性をプログラマが心配する必要はない。そして他のあらゆるシステムよりも高速かつスケーラブルなのだ。

なぜこうしたものを作ったかといえば、それは我々自身がこのようなものを必要としていたからである。

fig

Google I/O 2014

Tags: クラウド Google Hadoop MapReduce

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本