1/27(金)にCROSS2012に行ってきましたが、その翌日の1/28(土)にHadoopのハンズオンセミナーにも参加してきました。
Hadoopはデータ分析に有用な
オープンソースですね。
初心者向け Hadoop ハンズオンセミナー : ATND
場所は新横浜のAcroquest Technology 株式会社さんで、家から近かったので楽でした。
ハンズオンの前に、最近米国で行われた"Hadoop World"に参加してきたレポートが行われました。
面白かったのが、あの有名なWalt DisneyがHadoopを活用しているという内容でした。
Disneyがやっているインターネットビジネスは、
100-120億 PV/月 も行くそうで、16,000PV/秒という凄まじいデータ量が流れているようです。
これの解析を行い、サイトの改善などにつなげていくために、Hadoopが活用されているようです。
そのうち、
- テーマパークの交通流解析
- クリックデータ解析
- レコメンデーション
なども実施していく予定のようです。
他には統計言語「R」との融合の話とか。
Javaと比べてコード量が少なくなるらしいですが、「R」をよく知らないのでよくわかりませんでした。
そしてハンズオンを始める前に習ったHadoopの
アーキテクチャについて。
Hadoopは1台のマスターサーバが複数のスレーブに対して並列処理させる仕組みになっています。
HDFSという
ファイルシステムを使い、上手いことデータ分散を実現しているようです。
このあたり、深いところまではよくわかりませんでした。
そしてそれを、MapReduceという
フレームワークが処理の分散や障害時のリトライをやってくれるようです。
スレーブについては故障する前提で動いてて、1台ぶっこわれてもうまく処理が回る仕組みになっています。
MapReduceを使用する際、処理を掛ける部分は制限されていて、入力部分はMapper、出力部分はReducerに書くようになっています。こういうルールを決めちゃって、コーディングの自由度を下げることで作りやすくする、というのは
Railsとかとも似てんのかな、と思いました。処理をうまくやってくれるところはブラックボックスですね。(たぶん、凝ったことをやろうとするとブラックボックスにはしておけないんでしょうけど(;^ω^))
で、Hadoopの得意なことは、
- 大容量データの処理(テラバイト、ペタバイト)の現実的な時間(数分、数時間とか)での処理完了
というのを得意とするようです。
逆に、低容量のファイルをたくさんとか処理時間が1分のものを1秒に、みたいなことはHDFSとか分散処理の仕様上できないようです。
適用事例としては、夜間バッチや大量ログのデータストアに対して使うのが相性がいいようです。
ハンズオンで作成したサンプルは
CSVファイルから別の
CSVファイルへの加工を行ったのですが、実際のプロジェクトでは
RDBから分析を行いたい場合が多いと思います。
の処理の場合でもHadoopは活用できるんだろうか、というところが気になりました。
このあたり、もう少し本を読むなりして調べてみたいです。
おまけ。
Hadoopのマスコットキャラである象がキモいことは有名なのですが、アレをキモイと思うのは日本人だけで、外国人の感性だとかわいいようです。
でも日本人ってそれを擬人化して萌えキャラにしそうな勢いがありますよね(;^ω^)
公式サイトはこちら。象さんもいます。
Welcome to Apache™ Hadoop™!