- 2011年3月25日 23:55
- Java
Javaを学習されている皆さん、Hadoopってご存知ですか??
Wikipediaより:「Hadoop」 http://ja.wikipedia.org/wiki/Hadoop
「Hadoop」は、大規模なデータを複数のコンピューター上で
分散処理するために開発されたオープンソースソフトです。
グーグルが開発した2つの技術が基盤となっています。
その1つが、
分散ファイルシステム「Google File System(GFS)」を基に
開発された、「Hadoop Distributed File System(HD FS)」です。
大容量のデータの保存と管理を複数のサーバー上で処理し、
1つのファイルシステムとして動作します。
そしてもう1つが、大容量のデータを複数のサーバー上で
並列処理する「MapReduce」です。
元々、大容量のデータ処理には、
スーパーコンピュータが利用されることもありました。
しかし、MapReduceのデータ解析はとてもシンプルで、
ペタバイト単位のデータを扱うことができるため、
バッチ処理などが得意です。
Hadoopは、インフラ運用の手間がかからないという特徴も持っています。
データを処理するサーバー台数に比例して処理能力が向上していくため、
処理対象のデータ量の増加に伴い、
処理にかかる時間が増加してしまうという問題に対しては、
サーバーの台数を追加すれば解決できるというわけです。
データの複製も分散保存しているので、
サーバーが故障した場合でも処理を継続でき、
故障したサーバーは交換するだけでよいという利点もあります。
さらに、HadoopはJavaで実装されているので、
基本的にJavaでプログラミングをします。
ただし、Java以外の言語を利用したい場合には、
「Hadoop Streaming」というライブラリを使用することで、
MapReduceの処理をC/C++、Ruby、Pythonなどでプログラミングする
ことができるという点も、Hadoopの魅力の1つとなっています。
では、そんなHadoopですが、どんな企業で利用されているのでしょう?
皆さんがネットで良く耳にしたり利用されたりする、
楽天市場やYahoo!JAPANのサイトにて、採用しています。
オンラインショッピングである楽天市場の“おすすめ商品”や
“売り上げランキング”の表示が可能なのは、
膨大な購入データの解析が基になっているのです。
Yahoo!JAPANの検索画面では、
キーワードの入力補完、関連検索キーワード、関連サイトへのリンク、
オークション、地図検索、店舗検索・・・などなど
あらゆるところで利用されています。
これらも、Yahoo!JAPANへアクセスした際のログの収集と解析により、
サービスが利用可能となっているのです。
その他に、リクルートでは、
同社の「じゃらんnet」や「カーセンサー.net」「suumo」など、
Webサイトのログデータの解析に利用されています。
さらに、オンラインでの分析に利用できないか検討もされているようです。
また、Hadoopを利用したシステム運用・構築サービスを
企業向けにスタートさせる予定の企業もあります。
その中でもNTTデータは、オープンソースであるHadoopの商用サポート
を手掛けるベンダーである米クラウデラ(Cloudera)と組んで、
クラウデラ製のHadoopディストリビューションや開発ツール、
教育サービスも日本向けに販売するそうです。
Hadoopは日本でも多くのWebサービス企業で導入されていて、
利用の仕方によってはあらゆる可能性をもたらしてくれるソフトウェアです。
現段階でもまだ進化の途中のため、
担当されているエンジニアの方々にとっては、手探りの日々が続くことでしょう。
皆さんもぜひ、興味を持たれたら、その技術を調べて触れてみてくださいね!
--------------------------------------------------------------------------------
Javaプログラミングに興味のある皆さんへ、KENスクールで学習をしてみませんか??
⇒【Java開発実務研修「巧」】
開発工程の理解力があってこそ、効率の良い、顧客の要件を満たす
システム開発が可能となります。実際のシステム開発の工程に沿って
開発現場を疑似体験し、開発現場で通用する実践力を身につけます。
本日の更新者:
パソコンスクール KENスクール ネットワーク・プログラムコース
インストラクター 鈴木
- 次の記事へ: CMS「WordPress」を使ってみよう!
- 前の記事へ: Android特集 第17回 アンドロイド携帯で動くHTML5
