Hadoopとは
プログラマのKです。
本日は「Hadoop」について話をさせていただきます。
Hadoopは、Apache Hadoopと呼ばれることもあります。
ビッグデータ解析や、検索エンジンのデータ処理に使われている仕組みです。
大規模データの分散処理を実現しているソフトウェアフレームワークです。
Hadoopはオープンソースで提供されています。
Hadoopは、Hadoop Common、Hadoop Distributed File System(HDFS)、Hadoop YARN、Hadoop MapReduceの4つのモジュールから構成されています。
Hadoopを用いれば、一台のマシンで数日かかる処理を複数のマシンに分散して処理をさせることにより、数時間で終えることも可能です。
データの単位として「バイト」という単位を用います。
例えば、日本語1文字は2バイトに相当しています。
1024バイトを1Kバイト(キロバイト)、1024Kバイトを1Mバイト(1メガバイト)、1024Mバイトを1Gバイト(1ギガバイト)、1024Gバイトを1Tバイト(1テラバイト)といい、1024Tバイトを1Pバイト(1ペタバイト)といいますが、Hadoopでは、ペタバイトクラスのデータを処理することが可能です。
分散処理を行う場合、処理を分解して各ハードに割振ります。
同時に処理を割振ったハードに不具合が発生しないか監視し、処理結果を回収、次の処理を割振るという制御が必要になります。
Hadoopでは不具合が発生したハードが担当していた処理を、空いている他のハードに割振って作業を継続する仕組みになっています
また、分散処理では大量の処理を行いますので、処理の中間結果も含めて大量のデータを記憶装置に読書きする必要があります。
データの読書きが、一台または数台の記憶装置に集中すると、その記憶装置が大量のデータを読書きする速度が足をひっぱり、全体の速度の低下を招きます。
Hadoopは、一部の記憶装置に集中しないよう読書きの負荷を分散します。
HDDに比べて高速なSSDがあれば、読書き頻度が高いと予想されるデータを優先的にSSDに置いて速度向上をはかる技術も組込まれています。
大量のデータを解析し、解析結果をサービスに反映することを「データマイニング」いいます。
データが文章の場合「テキストマイニング」といいます。
人間が書いた文章は、その意味と構造について、厳密に統合がとれていないので「未構造化」といって、マシンには本来扱いにくい対象なのですが、Hadoopでは、「未構造化文書」のテキストマイニングが可能です。
実際にHadoopを用いたテキストマイニングの結果が複数のサーチエンジンで活用されています。
Hadoop自体は、最先端の技術ですが、比較的利用は容易です。
有料ですが、Hadoopを即利用可能なサービスがインターネット上で提供されています。
自分で複数のサーバをたてることができれば、かなり本格的にHadoopの使用が可能です。
検索エンジンにHadoopが利用されていますので、Hadoopの動作を知り、用いられているテキストマイニングの手法を推測する事は、有効なSEO対策に繋がります。
弊社ではクライアント企業のリクエストに応じて、インターネット空間における市場調査など、Hadoopを用いたテキストマイニングのご相談に乗らせていただく事もあります。
(K)