Hadoopは終わらない ―3年ぶり開催「Hadoop / Spark Conference Japan 2019」日本人開発者が語ったこと

「大きな変化を迎えているHadoopのいまを皆さんに正しくお伝えしたいと思い、3年ぶりに本カンファレンスの開催に踏み切った⁠⁠ ― 3月14日、東京・大井町きゅりあんにおいて日本Hadoopユーザ会主催の「Hadoop / Spark Conference Japan 2019」が開催されました。

基調講演の模様、前回と同じ会場で開催された
基調講演の模様、前回と同じ会場で開催された

基調講演に先立ち、開催の挨拶を行った日本Hadoopユーザ会の濱野賢一朗氏(NTTデータ)は、⁠本カンファレンスの開催を発表したとき、"もう開催されないかと思っていた"とずいぶん言われました」と発言していますが、たしかにこの3年間でHadoopを取り巻く状況は大きく変わり、⁠Hadoopは終わった」というネガティブなニュアンスで語られることも増えてきました。3年前、さらに遡ればビッグデータブームが始まった2011~12年ごろと比較すれば、Hadoopがテクノロジトレンドとして話題に上ることは大幅に少なくなっており、データビジネスにおけるHadoopのブランド価値が徐々に低下している印象は否めません。

挨拶に立つ濱野賢一朗氏
挨拶に立つ濱野賢一朗氏

Hadoopが"オワコン"扱いされる大きな理由として濱野氏は、メインコンポーネントとしてこれまでのHadoopを支えてきたMapReduceが、並列分散処理技術としてその役割をほぼ終えてしまったことを挙げています。ですが、MapReduceに代わる分散処理エンジンはSparkを筆頭にいくつも登場しており、Hadoopは「並列分散処理を支える基盤としてまだ主流であり、進化を続けている」⁠濱野氏)ことも事実です。また、MapReduceとともにHadoopのメインコンポーネントであったHDFSはいまだに健在ですが、こちらもOzoneなど新たな技術のによりプロジェクトとして大きなターニングポイントを迎えています。

いきなりの「オワコンか?」提起
いきなりの「オワコンか?」提起

「Hadoopは終わった」のではなく、並列分散処理基盤として技術的に新しいフェーズに入った状況にある、その現状を正しく伝えたい - 本稿では基調講演に登壇した二人の日本人開発者の内容をもとに、Hadoopがいま直面している状況と、新たに向かおうとしているゴールについて俯瞰してみたいと思います。

クラウドサービス、コンテナ技術の普及がHadoopに変化を促す

基調講演のトップバッターを務めたのは現役のHadoop PMCメンバー(Project Management Committee: Apache Hadoopの主要開発者)で、おもにHDFSの開発においてコミュニティをリードする鯵坂明氏(ヤフー)で、講演タイトルは「Apache Hadoopの現在と未来」でした。3年前もほぼ同じタイトルで基調講演を行った鯵坂氏ですが、その内容は3年前とだいぶ異なっていました。

鯵坂明氏
鯵坂明氏

プレゼンの冒頭で、カンファレンス参加者の事前アンケートによるHadoopの利用状況を紹介したあと、鯵坂氏は並列分散処理を取り巻く現在のトレンドとして以下の4つを挙げています。

  • クラウドサービスでの利用が増加
  • データ量/計算量の増加
  • 機械学習/ディープラーニングの流行
  • コンテナ技術の流行

中でもクラウドサービスの利用増はHadoopの世界にも大きな変化をもたらしました。とくにHDFSと大きく関係するのは「Amazon S3」「Azure Blob Storage」といったメジャーなクラウドベンダが提供するクラウドストレージ(オブジェクトストレージ)をデータレイクとして利用するユーザが大幅に増えたことです。現在では「OpenStack Swift」「Azure Data Lake Storage⁠⁠、さらに「Alibaba Cloud Object Service」⁠Tencent Cloud Object Storage」⁠対応中)といったクラウドストレージとも連携しており、パフォーマンスやデータローカリティの改善が日々図られています。

また、2つ目のトレンドとして挙げられたデータ量/計算量の増加によるスケーラビリティの限界を突破するため、HDFSでは

  • 複数のクラスタを束ねてマスタの負荷を軽減するフェデレーション機能「HDFS/YARN Router-based Federation」
  • S3のようなオブジェクトストレージ機能をHadoopで実現する「Ozone」
  • ディスクの物理容量を大幅に節約する「HDF Erasure Coding」

といった機能を実装してきたことを鯵坂氏は挙げています。とくに鯵坂氏も大きく開発に貢献したイレージャコーディングはストレージのディスクスペースを大幅に節約しながら信頼性も担保することから、Hadoop 3.0の最大のアップデートとして注目されました

3つ目のAIに関してもちょうど3年ほど前からHadoop上での連携が進んでおり、現在ではGPUアイソレーションなどのYARNの最新機能を活かし、TensorFlowやPyTorchといったディープラーニングフレームワークを動かす「Submarine」プロジェクトが進行中です。なお、プロジェクト名ついて鯵坂氏は「人間をもっとも深い場所まで連れて行く乗り物(潜水艦⁠⁠」に由来していると説明しています。

鯵坂氏が挙げた4つのトレンドのうち、ここまで説明した3つ(クラウドストレージ、データ量の増加、AIの流行)に関しては、3年前においても十分予想されていたトレンドであり、Hadoopコミュニティも十分に対応できていたと思われます。しかし、4つめのコンテナ技術の流行、とくにKubernetesの劇的な拡がりは少なくとも3年前の時点では予測が難しかったのではないでしょうか。⁠現在、Kubernetsが大きく注目を集めているが、HadoopとKubernetesはできることはそれほど変わらないはず。なぜKubernetesだけが流行っているのか、それを考えると(Hadoopプロジェクトで)今後、埋めるべきものが見えてくる」と語っています。

Kubernetesの流行から見えてくるものがある
Kubernetesの流行から見えてくるものがある

並列分散処理技術として、時代のニーズを取り込みながら進化してきたHadoopですが、今までと異なるフェーズでさらに成長していくためには何が必要なのでしょうか。鯵坂氏は「未来予測は難しいけど、個人的には利用しやすさをさらに高めていきたい」と語っており、具体的な「数年後までの野望」として

  • Java 11対応を完了させる
  • リリースサイクルの加速
  • プロダクトのさらなる分割

を挙げています。Hadoop 3.0ではJava 9対応を完了させましたが、やはりJavaの最新バージョンに対応させることはHadoopプロジェクトにとってもっとも重要なマイルストーンだといえるのかもしれません。

「並列分散処理を取り巻く状況の変化に追従しながら、Hadoopは進化し続けてきた。OzoneやSubmarineなどの新しいプロジェクトも生まれている。これからも進化を続けるHadoopにぜひ期待をしてほしい。コミュニティにはこれまでのコントリビューションにとても感謝しているし、これからのコントリビューションも大歓迎。もっと便利なHadoopをめざしてがんばりましょう⁠⁠ ―最後にこう講演を結んだ鯵坂氏。Hadoopコミュニティを現役でリードするPMCとして、"もっと便利なHadoop"を作り出すためにさらなる活躍が期待されます。

鰺坂氏の講演に続き、進化するHadoopを象徴する技術として、鰺坂氏と同じくHadoop PMCメンバーとして活躍中のArpit Agarwal氏(Cloudera)による新たなオブジェクトストレージ技術Ozoneの解説が行われた
鰺坂氏の講演に続き、進化するHadoopを象徴する技術として、鰺坂氏と同じくHadoop PMCメンバーとして活躍中のArpit Agarwal氏(Cloudera)による新たなオブジェクトストレージ技術Ozoneの解説が行われた 鰺坂氏の講演に続き、進化するHadoopを象徴する技術として、鰺坂氏と同じくHadoop PMCメンバーとして活躍中のArpit Agarwal氏(Cloudera)による新たなオブジェクトストレージ技術Ozoneの解説が行われた

Sparkに進化をもたらす「4つの存在」

「3年前のカンファレンスの時点ではSpark 2.0のリリース直前だったが、現在(2019年3月)のバージョンはSpark 2.4。この間、10倍の性能向上達成や、新たなストリーム処理エンジンの追加など、Sparkは劇的に進化した」―Hadoopと同様に、Sparkもまた3年前と比較して大きな進化を遂げました。基調講演ではSparkコミッタの猿田浩輔氏(NTTデータ)「The upcoming Spark 3.0: What's Next」と題したプレゼンを行い、2019年中にリリースされる予定のSpark 3.0の新機能のほか、Sparkに進化をもたらす存在についてフォーカスした説明が行われました。

猿田浩輔氏
猿田浩輔氏

猿田氏が最初に挙げたSparkに進化をもたらす存在が、"データ活用のトレンド"です。Sparkはデータ活用のトレンドとともに進化を続けているプロジェクトですが、猿田氏は「IoTやアナリティクスなど世の中のトレンドになっているユースケースはSparkでも人気のある用途。2.0以降、データ活用のトレンドに則した機能強化も行われている」と語り、その具体的な例として、

  • Structured Streaming
  • Pythonからの利便向上
  • Pandas UDFやビルトイン関数の拡充

を挙げています。とくにStructured Streamingの人気は高く、本カンファレンスの事前アンケートでは「本番環境で11名が使用中」という結果も出ていました。もっとも同アンケートでもっとも多かったSparkの用途は「バッチ処理/ETL」という結果もあり、⁠まだ若いコンポーネントであるStructured Streamingがストリーム処理で使われるようになるためには、Structured Streamingの完成度を高めていく必要がある」と猿田氏はコメントしています。

そしてトレンドに合わせて進化してきたSparkが、次なるバージョン3.0でもっともフォーカスする分野がAI/ディープラーニングです。Spark 3.0ではAIワークロードのサポートを強化する「Project Hydrogen」が目玉機能とされていますが、今後はProject Hydrogenの取り組みを中心に、AI分野におけるユースケース拡大をターゲットにしています。

つづいて猿田氏がSparkに進化をもたらす存在として2つ目に挙げたのが"分散コンピューティングのトレンドです。猿田氏はここで、鯵坂氏と同様にKubernetesとの関係性について言及しており、⁠分散コンピューティングのスタンダードであるHaadoopと連携しながら、Sparkもまたスタンダードを目指して発展してきたが、新たな分散コンピューティングのスタンダードであるKubernetesが登場し、Sparkも2.3からサポートを開始した。Kubernetesと連携する大規模データ処理基板のスタンダードとしての地位を目指し、2.4以降も継続的にブラッシュアップをしている」と語り、Kubernetesとの連携を重要視している姿勢を明らかにしています。

もっとも、現段階ではクラスタマネージャとしてはKubernetesよりもYARNを利用するユーザのほうが圧倒的に多く、事前アンケートでもそうした傾向が伺えます。猿田氏は「おそらく世界的にも似た傾向にあるのでは」としており、しばらくは「Kubernetesのエコシステムの成熟度合いを見ながら、適材適所でプラットフォームを選んでいく必要がある」としています。たとえば「大量の計算資源を必要とする定形バッチを実行する場合と、組織内の計算資源をシェアしてアドホックにアナリティクスジョブやサービスを字移行する場合」とでは適切なプラットフォームが異なってくるため、YARNだけではなく、Kubernetesも視野に入れたプラットフォーム選定が今後は重要になってくるでしょう。

また、Sparkに進化をもたらす3つ目の存在として猿田氏は「ハードウェアの存在」を挙げています。Sparkはバージョン1.5からスタートした「Project Tungsten」でCodegenやベクタライズなどモダンなハードウェアのリソースを"使い切る"改善が行われて話題を呼びましたが、Spark 3.0ではProject Hydrogenの取り組みにおいて、アクセラレータの活用を支援する仕組み「Accelerator Aware Scheduling」が検討されているとのこと。猿田氏は「ハードウェアトレンドが変われば活用の常識も変わる。コミュニティとして現状動きがあるわけではないが、今後はパーシステントメモリなど新しいタイプのハードウェアの普及とともにSparkどう進化するかがポイントになるだろう」と語っており、モダンなハードウェアへのアプローチを続けていく姿勢を示しています。

ハードウェアにも注目が必要
ハードウェアにも注目が必要

そしてSparkに進化をもたらす4つ目の存在として挙げられたのが「ユーザ」です。猿田氏はSparkがオープンソースソフトウェアである点をあらためて強調、⁠誰に対しても開かれ、維持されているコミュニティであり、誰でもさまざまな手段で要望を伝える権利がある。開発に直接参加しなくてもSparkを"つくる"ことができる。運用性やトラブルシューティングなど、プロダクトの使いやすさはユーザにしかわからず、ユーザの声もまたSparkに進化をもたらす」⁠猿田氏)と語り、幅広いユーザ層からのリクエストがSparkの発展に欠かせないとしています。

トレンド、ハードウェア、そしてユーザとともに成長していくオープンソースプロダクトとして、Hadoopとともに大きな変化を迎えているSpark。さまざまな"存在"に触発されたSpark3.0の登場が待たれます。

猿田氏の講演を承けて、Spark PMCメンバーであるXiao Li氏(Databricks)が開発中のSpark新バージョン3.0の機能と特徴を具体的に紹介した
猿田氏の講演を承けて、Spark PMCメンバーであるXiao Li氏(Databricks)が開発中のSpark新バージョン3.0の機能と特徴を具体的に紹介した 猿田氏の講演を承けて、Spark PMCメンバーであるXiao Li氏(Databricks)が開発中のSpark新バージョン3.0の機能と特徴を具体的に紹介した

バズワード的に持ち上げられた技術は、過度な期待のピークが過ぎると「終わった」と言われるケースがよくあります。Hadoopもそうした傾向が少なからず伺えることは否めません。また、MapReduceが処理エンジンとしての役割を終えたことに加え、パブリッククラウドとクラウドストレージの普及により、オンプレミスの大規模なデータレイク構築が前提だったHadoopが勢いを失ってしまったことも事実でしょう。ClouderaとHortonworksという二大Hadoopベンダが合併したことも、そうした事情が強く影響しています。鯵坂氏や猿田氏が指摘するように、Kubernetesの存在もHadoopにとって小さくないといえます。

しかしそうしたネガティブに捉えられる変化があったとしても、プロダクトをより良くしていこう、コミュニティを発展させていこうと真摯に取り組む開発者やユーザがいる限り、Hadoopのようなプロダクトは"終わる"ことはなく、基盤技術として別のフェーズに向けて成熟していくように思えます。だとすれば、2019年はHadoop/Sparkが本当の意味で、並列分散処理技術のコモデティとなれるかどうかが、試されているのかもしれません。

マスコットの象も健在。会場のあちこちに出没していました
マスコットの象も健在。会場のあちこちに出没していました

おすすめ記事

記事・ニュース一覧