LoginSignup
111
110

More than 5 years have passed since last update.

「Apache Zeppelin」のインストール方法まとめ

Last updated at Posted at 2015-02-25

次世代データ分析基盤としてApache Sparkが非常に注目されていますが、データ分析の重要な要素としてデータの可視化(Visualization)が挙げられます。
PythonやRではその辺のツールも充実しています。(Matplotlib, ggplot etc...)
さらに、インタラクティブ環境下でコード実行したり、グラフを描画することが可能なiPython NotebookやRStudioなどは分析者にとって非常に便利です。

Apache SparkをiPython Notebookのような環境で動作させるソフトウェアとして、現在Databricksが「Databricks Cloud」を開発しています。

しかし、現在一部のユーザにしか公開されていないため、誰でも気軽に使える環境にはなっていません。そこで、Databricks Cloudと同じような環境を提供してくれる「Apache Zeppelin(Incubator)」のインストール方法を紹介します。

公式サイトにもある通り、ZeppelinはNotebookという単位でインタラクティブシェルのようなものを用意しており、SparkSQLを使って構造化されたデータを用意することや、SparkStreamingを使ってtwitterからデータを取得しつつ、実行結果をグラフなどで表示することができるようになっています。
また、100%オープンソースでもあるので、気軽に利用することが可能です。

環境

  • Mac OSX 10.9.5 Mervericks
  • JDK 1.7.0_76
  • Maven 3.2.5
  • Node.js (npm) 0.10.33

インストール

まず、ローカルにリポジトリをクローンします。

git clone https://github.com/apache/incubator-zeppelin.git
cd zeppelin

次に、Mavenを使ってビルドします。
この際、sparkのver.を指定することができます。
(defaultが古いので新しいver.を指定しましょう。)

mvn clean package -Pspark-1.2 -DskipTests

ビルドが終了すれば、もう実行することができます。

./bin/zeppelin-daemon.sh start

localhost:8080にアクセスするとトップページが見れます。

top.png

サーバーを停止する際は次のコマンドを入力します。

./bin/zeppelin-daemon.sh stop

Tutorial

起動するとNotebookを選択することが可能になります。
選択項目を見ると最初から「Zeppelin Tutorial」のNotebookが用意されています。
これを見るとSparkSQLとVisualizationでどんなことができるか把握することができます。
また、公式ページ内にはSparkStreammingを使ってtwitterから取得したデータに対して簡単な言語処理をやっています。

便利と感じた機能

Display

HTMLや画像、簡単なテーブルなどを標準出力経由で表示することができます。

println("%html <p style=\"font-size:200%; color:red\">Important!!</p>")

display.png

Dynamic forms

templateのようにコードの中に次のような変数を埋め込むことができます。

// Hello world
println("Hello, " + z.input("name", "world"))
-- maxAgeよりageの高いuserを取得する
%sql SELECT * FROM users WHERE age > ${maxAge=30}

このように埋め込んだ変数は描画された結果の横にフォームが設置され、コードを変更せずに値だけを変更することができます。
また、値を変更すればその結果がすぐにグラフなどに反映されます。

zeppelin.png

Collaboration

同じURLに対して複数の人間が操作することが可能になります。
内部でWebSocketが動いており、更新があれば今見ているページが非同期に更新される。
また、実行結果だけをURLとして切り出すことが可能になっており、他人などに共有することもできます。

111
110
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
111
110