ここまでを執筆していて、あらためて思うのは、「やはりHadoopはややこしい」、ということです。
Hadoopはあまりにも自由です。それはアプリケーションの一切入っていない、LinuxやWindowsを想像すると良いかもしれません。もっと古いことを言うならば、MS-DOS時代のパソコンを思い出してみると良いでしょう。
プログラミングを行うスキルさえあれば、どんな処理だって実現できるのですが、それがなければ何もできません。いくらプログラムを書けても、何がしたいのか明確な目的がなければ、やはりどうすることもできません。Hadoopは、まさにそういう環境なのです。
メールをやりとりする、Webを見る、音楽を再生する、プレゼンテーションを作る――何かの目的があれば、それにあわせたプログラムを書くこともできるでしょうし、多くの人がそれを求めるなら、そのためのアプリケーションが広く流通するでしょう。
Hadoopの場合も同じです。そうはいっても、パソコンほど目的をカテゴライズできないので、お決まりのアプリケーションというのは限られます。HiveやHBaseやImpalaは、Hadoopをデータベース感覚で使えるようにするためのアプリケーション、と考えることができます。一方で、インフラとしてのHadoopのために、先に挙げたSparkやYARNがあります。
それにしても、これらを体系立てて理解するのは、変化の激しさも手伝って簡単ではありません。その使い方まで含めるとなると、多くの方にとっては、あまりにハードルが高いと言われても仕方がないでしょう。さらに付け加えれば、そもそも何かの課題があって、それを解決するにはHadoopなんだ! という強い目的意識が働いていなければ、なかなかそのハードルを乗り越えられないのも道理です。
では、もしHadoopに単純で明快な目的を満たせるアプリケーション、あるいはそう見えるような環境が用意されたらいかがでしょうか。
もったいぶっても仕方ありませんから、はっきりと申し上げましょう。もし、HadoopがRDBMSとして使えるならば、そこには利用価値があるでしょうか。それがあれば、Hadoopは広く一般に受け入れられやすいものにならないでしょうか。
Hadoopはどうやって操作するのか、どんなプログラムを書けば良いのか、学習してみようと思うなら方法がいくつか考えられます。一つはクラウドを利用する方法、もう一つはベンダーの用意するお試し版などで環境を構築してみる方法です。
クラウドの場合には、AWSのAmazon Elastic MapReduceだったり、IBMのBluemixのようなPaaSを利用する方法があります。あるいはAWSやIBM SoftlayerなどIaaSを使って、自分の試したいHadoopディストリビューションの環境を構築する方法も考えられます。しかし、これらの方法は、いずれも費用が発生してしまうのが悩ましいところです(試用期間は多少あるかもしれません)。
そもそも環境構築からやっていたのでは、Hadoopの使い心地うんぬんの前に、挫折するのが関の山ではないでしょうか。
そこで、もう一つの選択肢として、IBMが提供するVMWareイメージを紹介します。
これはIBM InfoSphere BigInsights(IBMのHadoop製品)の構築済み環境を、VMWareイメージとして提供するものです。本番環境としては利用してはいけないなど、いくらかライセンス上の制約はありますが、費用は一切発生せず、機能的な制約も特にありません。VMWare環境ですから動作スピードには限りがあり、マルチノードでのMapReduceを試すわけにはいきませんが、手持ちのパソコンでも試せるのは手軽なことこの上ないでしょう。
使用方法のチュートリアルも用意されているので、試したいと思う機能に的を絞って、順を追ってやってみてはいかがでしょうか。
Copyright © ITmedia, Inc. All Rights Reserved.