“保存されたデータ”と“流れるデータ”の共通分析基盤はHadoopでどうつくる?

羽野三千世 (編集部)

2016-07-20 17:35

 Apache Hadoopに関連するMicrosoft AzureのサービスとHortonworks製品についての勉強会が7月19日に開催された。この会は、世界39都市で行われているビッグデータ関連のミートアップコミュニティー「Future Of Data」の活動の一環として、日本マイクロソフトとホートンワークスジャパンの主催で実施されたもの。会場の日本マイクロソフト品川本社のセミナールームには約130人の聴講者が集まった。

「Data at Rest」と「Data in Motion」


ホートンワークスジャパン 北瀬公彦氏

 まず始めに、ホートンワークスジャパンの北瀬公彦氏が、6月28~30日に米国San Joseで開催された「Hadoop Summit 2016 San Jose」のイベントを総括した。このイベントは、HortonworksとHadoopコミュニティが主催、Yahooが共催する形で毎年開催されており、第9回目となる今回は過去最多の4000人が参加したという。

 今回のイベントでは、「Data at Rest(保存されたデータ)」と「Data in Motion(流れているデータ)」をシームレスに活用できる基盤“Connected Data Platform”がメインテーマだった。このような基盤を実現するために、クラウド上にデータ分析プラットフォームを展開するのが今後のトレンドであり、Hadoop/Sparkマネージドサービス「Azure HDInsight」や「Google Cloud Dataproc」が重要な役割を果たすとのこと。

 尚、Hadoop Summit 2016 San Joseの様子は、北瀬氏がZDNet Japanに詳細なレポートを寄稿しているのでそちらをお読みいただきたい(テクノロジとプレーヤーが出揃った!北瀬公彦の「Hadoop Summit 2016」レポート)。また、10月26~27日には、日本初開催となる「Hadoop Summit 2016 Tokyo」が予定されている。

Microsoft + Hortonworksの3パターン

 続いて、ホートンワークスジャパンの大浦譲太郎氏がHortonworks社と製品体系を紹介した。


ホートンワークスジャパンの大浦譲太郎氏

 Hortonworksは、YahooでHadoopを開発していたエンジニアたちがスピンアウトして2011年に創業した企業。「Hadoop関連企業では上場第1号、オープンソースの企業としてはRed Hatに次いで上場第2号」(大浦氏)だという。コミュニティーで開発されたオープンソースのHadoopとその関連ソフトウェアを扱い、Hadoopディストリビューション「Horton Data Platform(HDP)」、データオーケストレーションツール「Apache NiFi」のディストリビューションであり、データフローマネジメント関連ツールなどをまとめた「Horton Dataflow(HDF)」を提供している。


ホートンワークスジャパンの今井雄太氏

 HDPの利用形態のイメージとして、大浦氏はMicrosoftの製品サービスを組み合わせて使うケースを例示。(1)オンプレミスでHDP+SQL Server、(2)Azureの仮想マシン(VM)でHDPのライセンスを使う(Azure MarketplaceからHDP環境を設定済みのVMを立ち上げることができる)――の2パターンがあると説明した。加えてパターン(3)として、Azure HDInsightでは、HDPベースのHadoop/Sparkディストリビューションを従量課金のマネージドサービスとして利用できる。

Hadoopエコシステムで構築するConnected Data Platform

 では、Hadoop Summit 2016 San Joseのテーマであった“Data at Rest”と“Data in Motion”をシームレスに活用するための基盤は、HDPとHDFでどのように構築するのか。次に登壇したホートンワークスジャパンの今井雄太氏が、オープンデータとして公開されているニューヨークの地下鉄の運行情報を使って、(1)リアルタイムに車両の位置情報や遅延状況を可視化する、(2)運行情報を蓄積して機械学習にかけ、未来の遅延を予測する――という2パターンのデータ分析を同一基盤上で実現する仕組みを例示した。それが下図だ。


保存されたデータと流れているデータをシームレスに活用するプラットフォーム

 まず、路線ごとのID、電車ごとのID、タイムスタンプなどの運行データをNiFiによってニアリアルタイムで「Apache Kafka」へ連携させる。NiFiは、ウェブ、アプリケーションサーバ、センサなどさまざまなデータソースからの小規模データを別システムに渡すソフトウェアだ。Kafkaはメッセージハブと呼ばれるソフトウェアで、複数データソースからデータをpullで受け取り、複製分岐する。同じデータを何度も取り出して、別の処理フローに渡すことができるのが特徴だ。

 ここで、Kafkaのメッセージの投げ先が、図中右上に向かう矢印(Data in Motionのフロー:Kafka→Spark Streaming→HBase→Spring→Web UI)と、右下に向かう矢印(Data in Restのフロー:Kafka→Spark Streaming→HDFS)の二手に分かれる。

  • Data in Motionの処理フロー
    こちらでは、Kafkaからのデータを、ストリーミングデータを処理するSpark StreamingによるバッチでHBaseに格納し、Spring(これはHadoopではなくJavaアプリケーション)でWeb UIに表示している。そのWeb UIは下図のようなもので、リアルタイムに車両の位置情報、遅延情報を表示する。

  • リアルタイムに車両の位置情報、遅延情報を表示
  • Data in Restの処理フロー
    もう一方では、KafkaからのデータをSpark StreamingでHDFSへそのまま書き出している。HDFSへ書かれたデータは、Apache HiveやSpark SQLなどで時系列分析をしたり、Sparkに組み込まれた「Machine Learning with Spark(Spark ML)」の機能をつかって機械学習をしたりできる。ここでは、Spark MLで機械学習した結果をもとに「Apache Zeppelin」(分析結果の可視化などデータサイエンティスト向けのUIを提供する)でモデルを書き、それを予測モデルマークアップ言語(PMML)でData in Motion側のフローへ送り込んでモデルを適用している。これにより、Data in Motion側では、Kafkaに入ってくるデータを教師データとして、“未来時刻に遅延が発生しそうな電車”をリアルタイムに予測することができる。

Azureならボタン一発でConnected Data Platformを構築


日本マイクロソフトの佐藤直生氏

 このような“Data at Rest”と“Data in Motion”をシームレスに活用する仕組みは、Azure上ですでにマネージドサービスとして提供されており、テンプレートも用意されている。次に登壇した日本マイクロソフトの佐藤直生氏は、Hadoop/Sparkディストリビューション「HDInsight」を含むAzureビッグデータ関連サービス群と、それらのサービスをシナリオにそって組み合わせたテンプレート「Cortana Intelligent Solution Templates」を紹介した。

 下図が、Azureのビッグデータ関連サービス群だ。HDInsightの周囲には、各種デバイスや業務システムなどさまざまなデータを受け取る「Azure Event Hub」、Spark Streamingのようにストリーミングデータへのバッチ処理を行う「Azure Stream Analytics」、HDFS互換のHadoopファイルシステム「Data Lake Store」、機械学習サービス「Azure Machine Learning」、データ可視化ツール「Power BI」などがある。


Azureのビッグデータ関連サービス(ちなみに、図中赤字で表示されているサービスはここ1年でリリースされたもの)

 これらのサービスを組み合わせるシナリオを提供するのがCortana Intelligent Solution Templatesだ。「テンプレートのデプロイボタンを押すだけで、シナリオに含まれるサービス群をインテグレーションした環境が15~20分でできあがる」(佐藤氏)

 佐藤氏は、Cortana Intelligent Solution Templatesの中から、飛行機の予兆保守のためのデータ分析を行うテンプレートを紹介した。ここでは、機体のデータをAzure Event Hub で受け取ってAzure Stream Analyticsへ渡し、(1)Power BIでリアルタイム可視化する処理(Data in Motionの処理フロー)、(2)Azure Stream AnalyticsからデータをAzure Blob Storageにいったん格納して、Hiveによる分析や、Azure Machine Learningによる機械学習を加えた結果をPower BIで可視化する処理(Data at Restの処理フロー)が同一プラットフォーム上で行われる。


Cortana Intelligent Solution Templatesの構成図

 Azure上では、Hadoopエコシステムのソフトウェアが従量課金で利用できる。「Azure Stream Analyticsの代わりにSpark Streamingを使ったり、ニューヨークの地下鉄の例のようにKafkaを挟んで処理フローを分岐したりすることも可能だ」(佐藤氏)

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]