Apache Zeppelin 0.7 for SQL Server

Davide Mauri
Apache Zeppelin Stories
3 min readFeb 20, 2017

During the weekend I’ve updated my SQL Server interpreter for the amazing Apache Zeppelin to be compatible with the latest version — 0.7— that has been released just couple of days ago:

This new release has a lot of nice features (customizable charts, better multi-user support, improved tables and many others) and in order to start to use the new features also with SQL Server and SQL Azure, the first step was to sync the existing interpreter with version 0.7. Well, that’s done.

You can download the source code and build it yourself from here:

or get the Docker image with everything already built, for maximum comfort:

https://hub.docker.com/r/yorek/zeppelin-sqlserver/

If you’re new to Apache Zeppelin, you can take a look at the articles I’ve already written to help people to get started:

Breaking Changes

In order to take advantage of automatic interpreter discovery and native syntax highlight introduced in version 0.7, I had to rename the interpreter group and the interpreter name to sqlserver from tsql. This means that any binding to the tsql interpreter will be invalid which, in turn, means that all notebook using it won’t work. Luckily fixing this situation is easy: just create a new interpreter binding, using sqlserver as interpreter group and give it the same name you used before. Make sure the notebooks affected use this new binding (as the default one if in your notebooks you didn’t use the %interpreter notation) and you’re done.

Updating Docker Container to version 0.7

If you were already running a docker container with Apache Zeppelin for SQL Server, you may have notebook and interpreter configurations that you want to keep.

The process to update everything without losing any existing work is the following (just be sure also to read the “Breaking Changes” section above!):

Get the updated image

docker pull yorek/zeppelin-sqlserver:v0.7

Once it’s downloaded, check if you have any running container

docker ps

If you see an Apache Zeppelin container is running (it is named zeppelin if you followed my tutorials), stop it

docker stop zeppelin

Now create a new container pointing to the volumes of the previous version. The new container will automatically use the updated image

docker run -name zeppelin2 -p 8080:8080 -volumes-from zeppelin -d yorek/zeppelin-sqlserver:v0.7

List again all the existing containers (running and not running)

docker ps -a

Note that the old zeppelin container the is still there and if not needed can be removed

docker rm zeppelin

The new container can now be renamed to the usual name

docker rename zeppelin2 zeppelin

The old image can also be removed to free disk space

docker rmi yorek/zeppelin-sqlserver:v0.6.2

Now check that only one zeppelin container, with the version 0.7, is available:

docker ps

Upgrade done! Now you can start Apache Zeppelin for SQL Server with the usual command:

docker start zeppelin

and you’ll have access to all your existing notebooks and interpreter bindings.

--

--

Davide Mauri
Apache Zeppelin Stories

Data Geek, Storyteller, Developer at heart, now infiltrated in Azure SQL product group to make sure developers voice is heard loud and clear. Heavy Metal fan.