2016.10.31インフラ

Hadoopとは?|3つの特徴とビッグデータの関係性

  • このエントリーをはてなブックマークに追加
7fddb81d 931d 4cee b6f4 a17b5fef974a
みなさんは『Hadoop』というものが今、国内外問わずに大活躍しているのをご存知ですか?Hadoopは正式には『Apache Hadoop』という名称で、アメリカの非営利団体「Apacheソフトウェア団体」が提供している、Javaで記述されているミドルウェアです。記述の際にも基本的にはJavaを用います。

Hadoopは海外ではもちろんのこと、日本でも大手企業が導入を始めており、NTTデータやソフトバンクモバイルなどの幅広い分野で活用されています。今回はこのHadoopについて詳しくご説明し、更にHadoopの関連知識なども詳しくご紹介していきたいと思います。

10,000件以上の案件から希望の案件をご紹介!

未公開案件も多数ありますので「まずは相談したい。」という方もお気軽に登録ください。

あなたに合ったフリーランス案件を探す
Banner free wide 037b570405fddeb419957475d18a005501589cadc55bfe73d5000335887322fd
【目次】
『Hadoop』とは|3つの特徴と覚えるメリット
Hadoop 3つの特徴
Hadoop注目の背景
Hadoopを導入すべき企業と、そのメリット
Hadoopを使ってできること
Hadoopを構成する3つの要素
HadoopDistributedFileSystem』
『HadoopMapReduce(2)』
『HadoopYetAnotherResourceNegotiation』
Hadoopの需要と現在の課題
Hadoopの派生製品が登場するなど、注目度が高い
現在の課題
「Hadoop」+「データベースツール」のハイブリッド技術が今後のカギ
Hadoop以外のデータ処理と一緒に覚えておくべきスキル
Hadoop関連フレームワーク・ソフトウェアを用いる
一緒に覚えておくと便利なスキル
まとめ
 

『Hadoop』とは|3つの特徴と導入のメリット

Hadoopは大規模データの分散処理を支えるオープンソースのソフトウェアフレームワークであり、Javaで記述されています。随時開発されており、2016年1月にはHadoop2.7.7が登場しています。
まずはHadoopの特徴とメリットを挙げていきたいと思います。
 

Hadoop 3つの特徴

Hadoopには大きく分けて3つの特徴があります。
 

オープンソースミドルウェアである

Hadoopはフリーで配布されていながら商用利用も可能なミドルウェアです。そのため企業・個人を問わずに自由に活用することができます。
 

膨大な量のデータを圧倒的に高速で処理できる

これまでの技術ではどれだけ高速に動作するコンピューターを用いても、数テラバイト単位の膨大な量のデータ処理にはどうしても時間が掛かっていました。しかしHadoopでは独自のアルゴリズムや並列したサーバーを用いることで、膨大な量のデータの圧倒的な高速処理を実現しました。
 

サーバーが故障したときのためにデータの複製を作っておく

サーバーを複数作動させるということは、サーバー故障の危険を増やすことになります。そうすると、サーバー内部のデータも故障してしまう危険が生まれます。なので、複数のサーバーのうちのどれかが故障してもデータを失わない様に、いくつかのサーバーにデータの「複製」を作っておくことにしました。それにより、いざと言うときは、複製を用いてデータを修復することができます。
 

Hadoop注目の背景

HadoopのプロジェクトはGoogleが発表した論文をもとに、「Google」や「Yahoo!」、「Facebook」などの企業ニーズから生まれ、クラウドの分散並列処理によってそのパフォーマンスを実現することができました。そして今では、その革新的なパフォーマンスが評価され、前述の企業の他にもあらゆる企業が活用し始めています。(参考:Hadoop技術解説 注目の背景にはクラウドの普及)
 

仕組み

Hadoopの動作の仕組みは、わかりやすいように説明すると次のようになっています。最初に、処理したいデータを「HDFS」で分散させます。次に、その分散させたデータの処理を「HMR2」を使って複数のサーバーに割り当てます。そして、各々のサーバーで処理したデータを集め、最終的に1つのデータに再構成します。
実際にはもっと多くの工程があり、より複雑な仕組みになっていますが仕組みのイメージを掴むうえでは上記のような解釈で問題ないかと思います。
(参考:Hadoopを使って分散処理をやってみよう!)
 

Hadoopとビッグデータの関係性

Hadoopは処理したいデータを「HDFS」で分散させてデータの保存と処理を行い、無制限に拡張することが可能です。そのため、膨大な量のデータの代名詞とも言える『ビッグデータ』とは、とても相性が良いと言えます。

特にビッグデータは膨大な量のデータが集まっているため、処理にかなりの時間とコストがかかってしまいます。しかし、Hadoopを使用することにより、容易にかつ短期間で処理することが出来るため、コストの削減にも繋がります。そのため、Hadoopとビッグデータは切っても切れない関係にあります。
 

Hadoopを導入するべき企業と、そのメリット

先に挙げた「ビッグデータとの相性の良さ」からわかる通り、ビッグデータの活用を考えている企業は同時にHadoopの導入も考えるべきです。Hadoop導入のメリットは『高価な環境が揃えられなくても比較的低いコストで高速でビッグデータを処理できる』ということです。

HadoopではPCなどの性能がそこまで良くなくても、並列処理を行うことでそのスペックをカバーできます。そのため、ビッグデータ解析環境に費用を割けない企業にはHadoopは特におすすめです。しかし、逆にビッグデータとは言えないような少量のデータや複雑なデータの処理にはその特性上あまり力を発揮できないため、比較的単純なビッグデータを処理をするとき以外にはHadoopは向いていないと言えます。
 

Hadoopを使ってできること

Hadoopは、システムのログ解析やインターネット検索のアクセス解析、図書館などの蔵書検索サービスに用いるインデックスの生成などに用いることができます。詳しくは『ビッグデータの活用事例とビッグデータ活用でわかること』でも紹介していますので、併せてご覧ください。
 

Hadoop導入例

Hadoopは様々な企業で導入されていますのでその中から一部、ご紹介いたします。
 
レコメンドシステムの構築に活用

株式会社リクルート 様
 
リクルートでは、自社で展開する「ゼクシィnet」などのWebサイトのログデータを、広告宣伝効果の測定やユーザの行動分析などに役立てている。ログデータの肥大化や分析ニーズの多様化が進む中、迅速かつ実効性のあるログ分析を行う手段として、オープンソースの大規模分散処理基盤「Hadoop」に着目。Hadoopを含めオープンソースの実績があるNTTデータがコンサルティングを行い、他技術との比較検証、実現性の確認、実際の業務でのテスト運用を行った。その結果、処理時間の短縮や新たな視点での分析成果などHadoopの有効性や将来性について高く評価され、さまざまな事業分野でHadoopの商用システムへの導入が進んでいる。同時に、NTTデータが提供するHadoopサポートサービスも活用し、Hadoopの商用システムにおける安定稼働を支えている。

 ​(引用:Hadoop導入事例)

大規模検索システムの構築に活用

国立国会図書館 様


国立国会図書館サーチは、国立国会図書館のポータルサイトとして運用しているシステムである。 全文検索(横断検索)、連想検索など様々な検索機能に加え、 同一の本や関連する本の集約(書誌同定・グループ化、いわゆる名寄せ処理)や オンラインブックストア等へのリンクなど数多くの試みがなされている。 
国会図書館サーチでは、書誌同定・グループ化処理(名寄せ処理)と全文検索インデックス作成処理で Hadoopを利用。 大量の書誌データに対して、従来の処理方式で名寄せ処理を行うのは非常に時間が掛かる。 そこで、Hadoopを用いて名寄せ処理を高速化し、処理時間を短縮。 Hadoopを用いることで、大量データを扱う検索システムの構築が可能となった。 

Hadoopクラスタ台数
30台 + α 
データ量
約5TB、書誌データ数千万件 
国立国会図書館サーチでのHadoop活用について詳しくはこちら 
(技術評論社 gihyo.jp連載「エンタープライズビジネスを加速させるHadoop」
第2回   国内におけるHadoop活用事例(国立国会図書館サーチ)  NTTデータ 基盤システム事業本部 猿田浩輔)
 
国立国会図書館サーチのご利用はこちらから

(引用: Hadoop導入事例)
 
中古車情報事業基盤の構築に活用

リクルートグループでHadoopを商用サービスの基盤として初めて活用したのが、リクルートマーケティングパートナーズの中古車情報事業「カーセンサー」である。カーセンサーの関連サービスとして開始した、ショッピングセンターのカウンターで中古車をあっせんする「クルマなびカウンター」のサービス基盤として、Hadoopを活用している。
 
 Hadoopを活用するのは、クルマの価格設定だ。中古車市場は「正価」がないため、価格算出は人の感覚に頼るしかなかった。「中古車は、走行距離が1キロ違ったり、販売地域が異なるだけでも価格が大きく変化する。こうした状況で、統計的に価格を算出するのは難しい」。
 
 適切な価格算出のためには、「過去の算出価格を徹底的に集計、分析することが不可欠」だ。だが価格データが月間1億件のペースで増えていくカーセンサーの場合、全データを集計、分析しようとすると「数週間かかることもある」。分析対象を絞り込めば分析時間は短縮されるが、分析精度は当然ながら低くなる。
 
 そこで白羽の矢を立てたのが、Hadoopである。既に他のシステムで、バッチ処理の高速化を実証済みだったことが、Hadoop採用を後押しした。Hadoopシステムの活用により、数週間かかっていた毎月950車種の価格分析が1時間30分に短縮。改良を進めた現在のHadoopシステムでは、さらに高速化して30分での分析が可能になったという。「従業員は、分析以外のコア業務に時間を割くことができるようになった」

(引用:【事例】じゃらん、ゼクシィ、にも活用、リクルートはなぜ「Hadoop」を使う?)
 

Hadoopを構成する3つの要素

現在、Hadoopはバージョン1とバージョン2で構成する要素に大きな変更がありました。

バージョン1のHadoopは、分散ファイルシステムである『HadoopDistributedFileSystem』と、分散処理フレームワークである『HadoopMapReduce』の2つで構成されているのに対し、バージョン2では、『HadoopDistributedFileSystem』と、仕様変更により改変された『HadoopMapReduce2』、更に新しく追加された『Hadoop YetAnotherResouceNegotiation』の3つから構成されています。

それではこれから『HadoopDistributedFileSystem』、『Hadoop MapReduce(2)』、『HadoopYetAnotherResourceNegotiation』の3つについて解説していきたいと思います。
 

『HadoopDistributedFileSystem』

HadoopDistributedFileSystemは、Hadoopで利用している独自の分散ファイルシステムです。処理するファイルを細かいブロックに分割し、複数のサーバーを用いて同時に処理することで高速な処理が可能になりました。更にデータの損失を防ぐため、同じブロックを複数のサーバーに保存しておく仕様になっています。
 

『Hadoop MapReduce(2)』

HadoopMapReduceは、「JabTracker」と「TaskTracker」のふたつで構成されています。「JobTracker」はジョブ管理や、タスクの割り当て、リソース管理をするものです。「TaskTracker」は、JobTrackerから振り分けられたタスクを実行します。
バージョン2のHadoopでは「HadoopMapReduce」は、「HadoopMapReduce2」に変更になりました。
 

『HadoopYetAnotherResourceNegotiation』

HadoopYetAnotherResourceNegotiationは通称『HadoopYARN』と呼ばれるもので、バージョン2において、バージョン1の以下の弱点を克服するために開発されました。
 
  • クラスタ規模の拡大: Hadoop 1系までのMapReduceエンジンにおけるマスタ(JobTracker)が、クラスタのリソース管理、クラスタ内で実行されるMapReduceジョブのスケジューリング、また、MapReduceジョブ自体のスケジューリング(各タスクに対する入力データの割り当てや進捗管理)の3つを担当する必要があったため、JobTrackerの負荷が大きい。そのため、Hadoopクラスタの台数は1000台程度が限界であった。

 

  • リソース管理の効率化: Hadoop 1系までのMapReduceエンジンにおけるスレーブ(TaskTracker)ではMapタスク用、Reduceタスク用にそれぞれスロットが用意されており、そこにMapReduceの各タスクが割り当てられる。ここで、Mapタスク用のスロットに空きがない場合は、Reduceタスク用のスロットに空きがあったとしてもMapタスクをこれ以上割り当てることができず、TaskTrackerのリソース使用率が低下する問題があった。

 

  • MapReduce以外の分散処理の実行: Hadoopで分散処理するためには、必ずMapReduceの仕組みに当てはめる必要があった。MapReduceが2回以上連続するような処理を実行する場合、前段のMapReduceジョブの処理結果をHDFSに書き込み、それを後続のMapReduceで読み込む、という流れになるが、ここでHDFSに中間データを書き込むため、処理が非効率である。多段のMapReduceとなるような処理を高速化するために、MapReduceフレームワークとは異なる分散処理が必要であった。
(引用: Apache Hadoop - Wikipedia)
 

Hadoopの需要と現在の課題

ここではHadoopの需要や課題などについてご説明していきます。
 

Hadoopの派生製品が登場するなど、注目度が高い

時代のニーズは人工知能やIoTなど、膨大な量のデータを必要とするシステムが多く存在し、求められています。その為、膨大なデータを処理するシステムの開発が続けられています。現在では、IBMの「InforSphere BigInsights」や、Yahoo!の「Hortonworks」など、多くのHadoop派生・同種製品が登場しております。また「Apache Spark」、「Apache Drill」などHadoop関連製品も多く、その注目度は衰えるどころか、需要が高まっています。
 

現在の課題

ここまでたくさんの魅力を挙げてきましたが、現在のHadoopはしばしば「扱いづらい」と言われることがあります。それはHadoopで作成したブロックがHDFSで独自の分散処理をされているので、他のソフトでは扱えないという問題です。現在は他のプログラムとの互換性を持たせられるようにすることが熱望されています。

また、利用の難しさも大きな問題として挙げられます。Hadoopだけでなく専門的なアプリケーションではよくある問題ですが、利用に際してかなりの知識が必要になりますので、ハードルが高くなりがちです。そのため、より手軽に利用できるようなバージョンをつくるなどの対策が求められています。
 
(参考: 転換期を迎えるHadoop:Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する (1/2) - @IT)
 

「Hadoop」+「データベースツール」のハイブリッド技術が今後のカギ

Hadoopは多くのメリットを持ち、世界的に人気を博していますが、他のデータベースツールを用いることで効率が良くなることがあります。そのため、今後はHadoopだけで全ての分析・解析をこなすのではなく、目的に合わせ様々なソフトウェアを併用し弱点を補いながら活用していくことが、今後のビッグデータ処理のカギとなりそうです。
(参考: ビッグデータ時代に熱望される3つのスキル)
 

Hadoop以外のデータ処理と一緒に覚えておくべきスキル

Hadoopの上手な運用には、他にも覚えておくと良いスキル等があります。
 

Hadoop関連フレームワーク・ソフトウェアを用いる

先にも少し触れました「Apache Spark」や「Apache Drill」を始め、「Apache Hive」、「Apache Pig」などの関連フレームワーク、ソフトウェアも利用することで可能性を大幅に広げることができます。
(参考: ビッグデータ分析のためのHadoop関連技術として注目される 「Apache Spark」「Apache Drill」「Apache Hive」「Apache Pig」 の技術者向けトレーニングを開始 | Hadoop Times)
 

一緒に覚えておくと便利なスキル

Hadoopの不得手を補うため、できることをより増やすために、分析ツールである「SAS」や統計・計算に向いている「Python」、「MATLAB」といったプログラミング言語も覚えておくと良いでしょう。
 

まとめ


Hadoopは、ビッグデータ分析において今とても重要なツールであり、その需要は日に日に高くなっています。また、現在は多くの関連ソフトウェアが登場し、発表当時よりも圧倒的に便利になっています。そして、「Facebook」や、「IBM」、「ニューヨーク・タイムズ」、「楽天」などの企業も次々とHadoopを導入しており、それぞれの業務に活用しています。今後Hadoopは、現在残っている課題を克服しつつ更に使いやすく便利なものになると予想されますので、これからのビッグデータ事業に益々貢献していくこととなるでしょう。
  • このエントリーをはてなブックマークに追加
10,000件以上の案件から希望の案件をご紹介!

未公開案件も多数ありますので「まずは相談したい。」という方もお気軽に登録ください。

あなたに合ったフリーランス案件を探す
Banner free wide 037b570405fddeb419957475d18a005501589cadc55bfe73d5000335887322fd

新着のコラム記事

人気のコラム記事