Share!

SEなら知っているであろうHadoopですが、そのほかの職種の人だと、IT企業に勤めていてもなかなかその意味を知る機会がないと思います。

そこでこの記事では、Hadoopについて見ていくことにしましょう。

Hadoop(ハドゥープ)とは?

まずはHadoopの説明から。以前、「そもそもビッグデータとは? ビッグデータの定義から活用例までご紹介」という記事でHadoopについて取り上げました。この記事では以下のように説明しています。


「大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォーム」のこと

いまさら聞けないHadoopとテキストマイニング入門 (1_3):テキストマイニングで始める実践Hadoop活用(1)|@IT


Hadoopにより、ペタバイト(1ペタバイトは1テラバイトの1000倍)レベルの非構造化データ(メールや画像、動画などのデータ)の超高速処理が可能になりました。そして大量の情報を低コストで分析できるようになったのです。

HadoopはApacheソフトウェア財団のプロジェクトの1つであり、「Apache Hadoop」とも言われます。Java言語のフレームワークであり、ホートンワークス、米ヤフー、クラウデラといった企業のほか、インテル、マイクロソフトなども開発に携わっています

Hadoopが使われるようになった理由

ネット上に日々蓄積されている情報、たとえばテキストデータや音声、動画データなどはビッグデータとなりえますが、データ量はペタバイトに及びます。この大容量のデータを高速処理するために、新技術が必要となりました。

従来は、データを1つのサーバに蓄積させて計算処理をする、という方法を取っていましたが、これでは重いデータの高速処理に限界があります。そこで、データを複数のサーバに分散させ、各々のサーバで計算処理をさせることで、大容量データの処理を可能にしたのです。

しかしながら、サーバを複数に分散させるには、各サーバをネットワークでつないだり1カ所のサーバが止まった時に対処できるようにしたりする必要があり、複雑なシステムの構築が求められます。そこで、それらを解決する手法であるHadoopが使われるようになったのです。

Hadoopの2つの要素

Hadoopは、大きく分けて次の2つの要素から成り立っています。

・HDFS(Hadoop Distributed File System)


分散ファイルシステムであり、構造化データ・非構造化データに関係なくあらゆるデータを蓄積できます。「どのファイルをどのように分割したか」や「どの装置にどのように格納したか」については「ネームノード(name node)」と呼ばれるサーバで一元管理され、他のサーバはデータ自体を保存する「データノード(data node)」として利用されます。HDFSにファイルを保存する場合は、そのファイルは一定のサイズに分割され、それぞれブロック単位でデータノードに保存されるという仕組みです。

ちなみに、あるデータノードが故障し、それに保存されているブロックが消失する可能性を防ぐために、複数のデータノードにレプリカのブロックが保存されています。これにより、1つのデータノードが壊れた場合でも、他のデータノードの同じブロックを参照することができ、データの欠損を回避できるようになっています。

・MapReduce


大規模なデータを分散処理するためのプログラミングモデルのこと。HDFS上にあり、データの分散処理を行うことができる汎用的なフレームワークであり、データの集計や検索、データクレンジング行えます

データの処理をmap処理とreduce処理の2段階に分けて行う点が特徴です。map処理は入力データを読み込んでフィルタリングするもので、reduce処理はmapで抽出されたデータをまとめて結果を出力する役割を果たします

なお、最近ではSparkなどほかの処理エンジンの台頭によって、その役割が縮小しています

Hadoopの今後

クラウドの台頭や、上の章でも触れたようにMapReduceからほかの処理エンジンに移りつつあるなど、Hadoopをめぐる状況も変わりつつあります。

しかしながら、現在でも大規模のデータ処理ツールとして多くの場面で導入されており、初期に比べれば大幅に進化しています。2017年12月にはHadoop 3.0がリリースされました。Hadoopは今もなお、重要なインフラなのです。

【参考記事】
 ※1 分散処理技術「Hadoop」とは:NTTデータのHadoopソリューション
 ※2 ストレージ Hadoopとは - Fujitsu Japan
 ※3  HDFS(Hadoop Distributed File System)とは - IT用語辞典
 ※4  MapReduceとは - IT用語辞典
 ※5  Hadoopの特徴と低コスト、高速性の秘密を知る _ Hadoop Times
 ※6  Hadoopで、かんたん分散処理 - Yahoo! JAPAN Tech Blog
 ※7 「Hadoopの時代は終わった」の意味を正しく理解する - 科学と非科学の迷宮
 ※8 各Hadoop製品の特徴について - クリエーションライン株式会社

(安齋慎平)

この記事を読んだあなたにおすすめのタグ

この記事を読んだあなたにおすすめのタグ

人気のカテゴリ