Clouderaで作るデータ分析環境

wyukawaさんがデータ分析環境について書いていましたが、全部 CDH を使えば実現可能なので便乗して書いておこうと思います。

1. ETL 処理

CDH なら以下のツールがあります。

ちなみに wyukawa さんが言及している Luigi ですが、中身は単なる Hadoop Streaming なので、今からこれを使うぐらいなら上のツールから選択した方がいいと個人的には思います。

2. ジョブ管理

全部 Oozie でできます。

ジョブネット

Oozie ワークフローがジョブネットに相当するもので、これにより Sqoop でデータをロードして Hive で変換処理、失敗したらメールを送信、などの処理をまとめておくことができます。
Oozie 単体だと xml でワークフローを記述しなければいけないので少々面倒ですが、Hue を使えば Web ブラウザからドラッグアンドドロップで簡単にワークフローを書くことができます。

f:id:shiumachi:20140507070328p:plain

日付を指定してのジョブ実行

Oozie コーディネータを使えば日時を指定してのワークフローのスケジューリングが可能です。毎週日曜の午前4時に実行、毎月1日0時に実行などの指定はもちろん、cron と同じような書式でのスケジューリングも可能です。さらに同時実行数の指定や、キューにたまったときに FIFO にするのか LIFO にするのか、あるいは最新のスケジュールのみを実行するのかなど細かく指定することができます。


f:id:shiumachi:20140507070718p:plain


Web からのジョブの削除

できます。


認証機構

Kerberos 認証があります。

3. 集計結果格納用の RDBMS

計算に時間がかかって困るぐらいに RDBMS が肥大化するほどのデータがあるのなら普通に Hadoop 上で保存しておけばいいと思います。多分 Impala をそのまま実行した方が速いです。

4. アドホック分析

Hue を使えば上記の処理も全部ひっくるめて Web UI できます。

5. 分析用クエリ

CDH なら Impala があります。Hue から Impala を使う人もいれば、BI ツールから JDBC 経由で Impala につなぎにいく人もいます。

Cloudera Impala の本の日本語版もオライリーから無料でリリースされています


デモビデオはこちら

おまけ: Hue を試してみたい!

Hue は上記の他に色々できます。

http://demo.gethue.com/ にアクセスすれば、Hue のデモを触ることができます。まだリリースしたばかりのベータ版なので、Impala でのクエリ実行や検索結果の閲覧、Oozieワークフローの実行ぐらいしかできませんが、どんな感じか理解するためにとりあえず触ってみるものとしては十分でしょう。

デモ以上に試してみたいけどクラスタまでは作りたくないという人はクイックスタートVMを使うといいでしょう。CDH5のコンポーネント一式がVMに収まっています。


Hue の公式サイトはこちら