lilyclefはLivyを起動したい
本記事は旧ブログから移行しました
Dockerfile
Issueに落ちていたDockerfileがバージョンでこけていたので修正。いずれまたバージョンが上がればこけそうな予感はする。
FROM gettyimages/spark:2.4.1-hadoop-3.0
RUN apt-get update && \
apt-get install -y wget && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /apps && \
cd /apps && \
wget https://ftp.jaist.ac.jp/pub/apache/incubator/livy/0.7.0-incubating/apache-livy-0.7.0-incubating-bin.zip && \
unzip apache-livy-0.7.0-incubating-bin.zip -d /apps && \
rm -f apache-livy-0.7.0-incubating-bin.zip && \
mkdir /apps/apache-livy-0.7.0-incubating-bin/logs
EXPOSE 8998
CMD ["/apps/apache-livy-0.7.0-incubating-bin/bin/livy-server"]
起動
$ docker build . -t livy-spark
$ docker run -d -p 8998:8998 livy-spark
$ curl localhost:8998/sessions -X POST --data '{"kind":"spark"}' -H "Content-Type: application/json"
$ curl localhost:8998/sessions/0/statements -X POST -H 'Content-Type: application/json' -d '{"code":"val x = List((1, \"a\"), (3, \"b\")).toDF(\"number\", \"key\")"}'
動機
- apache/incubator-livy: Mirror of Apache livy (Incubating)
- インキュベーターリヴィの語感が好み、でとりあえず起動
- 各種SparkクライアントがSparkクラスターに投げつける前段でREST APIを提供するウェブサーバー
- Scala・Python・R受け付けられるようにしている実装がなんだか素敵
- jupyter-incubator/sparkmagic: Jupyter magics and kernels for working with remote Spark clusters