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:
Apache Zeppelin Release 0.7.0
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:
GitHub - yorek/zeppelin: Apache Zeppelin with support for SQL Server
or get the Docker image with everything already built, for maximum comfort:
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:
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
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:
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.