notebook形式のWebUIでsparkを実行するspark-notebookを使ってみました。
https://github.com/andypetrella/spark-notebook
spark-notebookは、scala-notebookをforkして作ったそうなんですが、
元々のscala-notebookはiPython Notebookにフィーチャーされて作ったものだということで、
iPython Notebookユーザには非常に馴染みのあるインターフェイスになっています。
インストール
インストール方法はいくつか用意されています。
- バイナリファイル
- dockerイメージ
- debianパッケージ
- ソースコード
私はデバッグできるようにソースコードを使いました。
ソースコードを使う場合はsbtでビルドと起動を行います。
# GitHubからcloneします $ git clone git@github.com:andypetrella/spark-notebook.git $ cd spark-notebook # sparkの最新バージョンを指定してsbtを実行します $ sbt -D"spark.version"="1.4.1" [info] Loading project definition from ./spark-notebook/project [info] Set current project to spark-notebook (in build file:./spark-notebook/) # サーバを起動します [spark-notebook] $ run
ポート:9000でWebサーバが起動します。
notebookを使ってみる
ブラウザからhttp://localhost:9000にアクセスします。
Jupyter(iPython Notebook)にそっくりです・・・
scala-notebook以上にJupyterです。
サンプルが沢山用意されているので、とりあえずサンプルを動かしてみます。
sqlの中のDataFrameを開きました。
とりあえず上から動かしてみます。
普通に動きます。
リスト型コンテナを作ると、表やグラフを表示することもできます。
DataFrameを作成すると自動的に表を作ってくれます。
D3.jsを使ったjsコンポーネントがいくつか用意されていて、デフォルトのビジュアライゼーションが結構充実していました。
※自分でD3.jsを使って描画することもできます。
想像以上に便利な印象でした。
地雷を踏むところまでもう少し使い込みたいところですw