5月23~24日に開催された「ガートナー データ&アナリティクス サミット2017」では、米Gartner リサーチ部門バイスプレジデントのMerv Adrian氏が、オープンソースの分散データ処理基盤であるHadoopとSparkについて解説。両者の活用とリスクの現状を説いた。

Gartner リサーチ部門バイスプレジデント Merv Adrian氏
Adrian氏は、最もよく使われているオープンソース(OSS)の一例として、HadoopとSparkを取り上げた。いずれも複数サーバのクラスタ環境で動作する分散データ処理基盤であり、バッチ処理やストリーミング処理などに利用できる。
「SparkはHadoopにとって代わるものではないが、競合する」と、Adrian氏は指摘する。両者の根本的な違いは、Hadoopがストレージベース、Sparkがメモリーベースのアーキテクチャであることだ。それぞれに好ましいシナリオがあり、例えば、Sparkはリアルタイムなデータ変換処理も高速に処理できる。
Hadoopを手掛けるベンダーは多く、ClouderaやHortonworks、MapR Technologies、富士通などがある。Amazon Elastic MapReduce(EMR)などクラウド専用のHadoopもあるが、ほとんどのベンダーはオンプレミスで動作するソフトウェアを提供している。一方で、Hadoopユーザーの25%がクラウド上で利用しており、オンプレミスからクラウドに移行する傾向が表れているという。
HadoopとSparkの典型的な使い方
Hadoopの典型的なユースケースは、データベースのETL(抽出/変換/登録)とバッチ処理だ。データを抽出してデータウェアハウス(DWH)に登録し、DWHからデータマートに切り出してアナリストが分析する――といったシーンで利用される。
Hadoopのユーザー事例としてAdrian氏は、レストランなどの格付けをする「Yelp」を紹介した。同社では毎日1.2Tバイトのログと写真が生成される。オンプレミスのHadoopクラスタだと容量が不足するため、Amazon EMRに移行し、これによって5万5000ドルのハードウェアコストを削減した。データの配備にかかる時間は、数カ月から数日に短縮されたという。
一方、Sparkの典型的な用途が機械学習だ。不正の検知やレコメンデーション(推奨)システムなどに適し、予測分析では、データサイエンティストが3日間かけて実施していた作業を数分で完了できる。
Hadoop/Spark活用での5か条
現在のHadoopとSparkにおける大きなトピックの1つは、IBMやOracle、Microsoftなどの既存ベンダーによる参入だ。ClouderaやHortonworksなどのHadoop/Sparkベンダーをかわすための戦略を採用し、製品を強化しているという。
ユーザー動向では、ビッグデータをクラウドへ移行するユーザーが増えてきたことがある。クラウド環境でデータを操作した方が、オンプレミスでデータを操作するよりも安価だからだ。
一方で問題点には、こうしたソフトウェアの早過ぎる開発ペースがユーザーを混乱させていることが挙げられた。特に、Sparkのバージョンアップはあまりに頻繁で、開発のペースにユーザーが追いついていないという。例えば、2015年10月3日にリリースしたSpark 1.5.1から、38日後、56日後、65日後、108日後、135日後と、矢継ぎ早に新版が出だ。これと並行し、Spark 2もリリースされた。
講演の最後にAdrian氏は、Hadoop/Sparkを活用していく上での提言を幾つか提示した。
- 新しいワークロードでHadoopとSparkの強みを生かす。まだリプレースの選択肢とはいえない
- 着手する前にデータ品質とセキュリティの戦略を定義する
- フレームワークのコンポーネントが急速に変化することを受け入れ、期待を上回るものかどうかを評価する
- ベンダー任せにしない。他のデータ管理ソフトウェアと同様にスケジュールを定め、それに沿って計画を進める
- クラウドは万能ではない。継続的/一時的ワークロードのコストを評価する