ぶらっ記ぃ

日本語の練習をしています

JupyterNotebook + almondで Scala 環境を構築する

仕事でたまたま、整形の難しいアプリケーションログを追うことになった。
テキストをいじくるとき、自分はAmmoniteをよく利用するのだが、
(これってもしかして、JupyterNotebookが使えるのでは…?)
とふと思い立った。

色々調べたところ、almondというものを使うと良さそうだった。

github.com

インストール

(ちょっと調べた感じだとDockerImageが見当たらなかった…)

Macです。

Jupyterのインストール

$ brew install jupyter

coursierのインストール

almondのインストールに使用します

$ brew install --HEAD coursier/formulas/coursier

almondのインストール

公式の手順に従います

$ SCALA_VERSION=2.12.7 ALMOND_VERSION=0.1.11
$ coursier bootstrap \
    -i user -I user:sh.almond:scala-kernel-api_$SCALA_VERSION:$ALMOND_VERSION \
    sh.almond:scala-kernel_$SCALA_VERSION:$ALMOND_VERSION \
    -o almond
    
$ ./almond --install

使ってみる

JupyterNotebookを立ち上げる

$ jupyter notebook

ブラウザが自動的に立ち上がる

Notebookを作成

立ち上がった画面から、

New → Notebook: Scala

を選択

Scalaコードを書く

f:id:Nomad_Blacky:20181115192500p:plain

すげー!
補完もちゃんと効きます!!

f:id:Nomad_Blacky:20181115192512p:plain

AmmoniteのMagicImportもちゃんと使えるし、
plotly-scalaでグラフも書ける!!!


これめっちゃ楽しいですね。
Jupyterは色々なエクスポートの方法があるので、調査レポートにはもってこいですし(エンジニアも読みやすい)、普通にREPLとして使うのも全然いけますね!

DockerImageください!!

追記

@yume_piece1010 さんがDockerImageを作成されてたそうです!やったぜ。

jupyter-scala から almond に名前が変わったんですねー。

さらに追記

上記から更に削った軽量版も作っていただきました!

docker run -it -p 8888:8888 -v $(pwd):/root/notebooks poad/docker-jupyter-scala