THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | |
in Search

Davide Mauri

A place for my thoughts and experiences the Microsoft Data Platform

Apache Zeppelin 0.7 for SQL Server

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.

1-Rj4Y2607mkDxIA9PfH6ldg

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:

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.

Published Wednesday, February 22, 2017 4:55 AM by Davide Mauri

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

SiapaSaya said:

June 29, 2017 2:11 AM
 

SiapaSaya said:

June 29, 2017 2:11 AM
 

SiapaSaya said:

June 29, 2017 2:11 AM
 

SiapaSaya said:

June 29, 2017 2:13 AM

Leave a Comment

(required) 
(required) 
Submit

About Davide Mauri

Director of Software Development & Cloud Infrastructure @ Sensoria, an innovative smart garments and wearable company. After more than 15 year playing with the Microsoft Data Platform, with a specific focus on High Performance databases, Business Intelligence, Data Science and Data Architectures, he's now applying all his skills to IoT, defining architectures to crunch numbers, create nice user experiences and provide meaningful insights, all leveraging Microsoft Azure cloud. MVP on Data Platform since 2006 he has a very strong background development and love both the ER model and OO principles. He is also a fan of Agile Methodology and Automation, which he tries to apply everywhere he can, to make sure that "people think, machines do".

This Blog

Syndication

Privacy Statement