米グーグルがCloudera、Data Artisans、Talend、Cask、ペイパルらと共同でDataflowをApache Software Foundation(ASF)のインキュベータープロジェクトに提案。さまざまな実装アイデアが登場するデータ分析実行エンジンに対応した仕組みをオープンエコシステムで構築するという。
米グーグルがCloudera、Data Artisans、Talend、Cask、ペイパルらと共同で「Google Cloud Dataflow」(以下、Dataflow)をApache Software Foundation(ASF)のインキュベータープロジェクトに提案しているという。2016年1月20日、グーグルのソフトウェアエンジニアであるFrances Perry氏とプロダクトマネジャーのJames Malone氏が「Google Cloud Platform Blog」で公表した。
Dataflowは、2014年6月に「Google I/O 2014」でGoogle Cloudのサービスとして発表されていたもの。
Cloud Dataflowは「バッチモード」と「ストリーミングモード」の両方で大量のデータを処理できるビッグデータ分析サービス。MapReduceの後継として、Javaの並列処理ライブラリである「FlumeJava」、高速なデータプロセッシングアプリケーションを構築するためのフレームワーク「MillWheel」といったグーグルが自社で利用している独自技術をベースに開発されたものだ。
ASFへの提案は、Cloudera、Data Artisans、Talend、Cask、ペイパルらと共同で行われる。プロジェクトには、Dataflowモデル、Java SDKの他、将来的にはPython SDKも同じプロジェクトに含める方針だという。
このことを公表したブログ記事では、従来のデータ分析プロセスが、新しいものを取り込む際に、過去のこなれたビジネスプロセスを破棄してリスクのある新しいプロセスを記述し直す必要があった点を「十分にテストされたビジネスロジックを捨ててしまうことに順応するのは望ましくない」と指摘している。
MapreduceやApache Spark、Apache Flinkなど、続々と登場する新しいデータ分析エンジンに対して、それぞれのエンジン固有のAPIに合わせて処理を書き直したり、バッチ向け、ストリームデータ向けでそれぞれにアプリケーションを書き直していくことには無駄とリスクがある、ということだ。
Dataflowを利用すれば「一つのポータブルなデータパイプラインを記述すれば、バッチでもストリームでも利用でき、かつSparkやFink、Dataflowなどのランタイムを操作できる」と、その利点を説明している。ランタイム操作とは、Dataflowの「runner」(データ分析の実行エンジンとの接続する部分の実装)を指す。
Dataflow Java SDKは実行エンジンと接続するため、プラガブルなrunnerをサポートするよう設計されている。現在runnerとして、Data Artisansが提供するApache Flink用、Clouderaが提供するApache Spark用、グーグルは単一ノードのローカル実行用とCloud Dataflow Service用の4つが用意されている。
グーグルでは、ASFの下でオープンソースソフトウェアとして開発を行うことで、オープンなエコシステムを利用でき、Dataflowモデル、SDK、対応するrunnerを拡充できるとしている。
Copyright © ITmedia, Inc. All Rights Reserved.