THE SQL Server Blog Spot on the Web

Welcome to - 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

Using Apache Zeppelin on SQL Server

At the beginning of February I started an exploratory project to check if Apache Zeppelin could be easily extended in order to interact with SQL Server and SQL Azure. In the last week I’ve been able to have everything up an running. Given that I’ve never used Java, JDBC and Linux since the nineties when I was at university, I’m quite pleased of what I achieved (in just a dozen of hours of no sleep). Here’s Zeppelin running a notebook connected to SQL Azure.


If you want to test it too, you just have to get it source code from the fork I’ve created here on GitHub, and follow the documentation in order to build it. I’ve just run through the tutorial I’ve put up, and in 15 minutes (max) from when you have logged in in your Ubuntu 15.10 installation, you should be able to have a running instance of Zeppelin with the SQL Server interpreter.

Here’s the document that describes everything you need to do:

Now, you may be wondering, why you should be interested in Zeppelin at all? Well, if you’re into Data Science you already know how important is the ability to interactively explore data. And with SQL Server 2016 able to run R code natively, the ability to do some interactive exploratory task is even more important. For yourself and for the business user you will work with. With Zeppelin (just like with Jupyter) creating an interactive query is as simple as that:


But even if you aren’t into Data Science, Apache Zeppelin is really useful because I really think that the lack of a nice online environment to query SQL Azure is quite annoying. I love SQL Server Management Studio, but sometimes I just need to write a quick-and-dirty query to see if everything in going in the right way or, even better, I’d like to create a (maybe not so) simple dashboard with data stored in SQL Azure or SQL Data Warehouse. And maybe I don’t have my laptop with me, and all I have is a browser.

Well, Apache Zeppelin is just perfect for all these needs and it is actually much more than that. It’s future looks very promising, so having it also on the Microsoft Data Platform is will make our beloved SQL Server / SQL Azure / SQL Data Warehouse / Azure Data Lake even more enjoyable.

Right now this version is a sort of on Alpha version and it works only on SQL Server and SQL Azure (I haven’t tested yet on Azure Data Warehouse but should work). It “just works” since, as said at the beginning, this was more and experiment than anything else. Now that I know it is feasible, I’ll rewrite the SQL Server support for Zeppelin (called “interpreter”) from scratch, since for this attempt I’ve started from the postgresql interpreter and as a result the code is not so good (it’s more a patchwork of “let’s try if this works” things)…even if it does the job. So if you download the source and take a look a the code…just keep this in mind, please :-).

Enjoy it and, as usual, feedbacks are more than welcome. (And help, of course!)


Support to Azure Data Lake is not yet there. It will come ASAP, but don’t know when yet. :-)

Published Sunday, February 14, 2016 11:17 PM 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



Rick Willemain said:

Very interesting !  Thank you for the posting !!

February 22, 2016 10:58 AM

priyanka said:

Thank you, this is what i am looking for..

but i have zeppelin running on my system.. details are

ubuntu 14.04 64bit

Apache Zeppelin 0.6.0

java version "1.7.0_111"

Apache Maven 3.3.9

how do i get this interpreter added to my existing zeppelin?

because all other interpreters are working already, few i have added on top of default interpreters. is there any way to add this zeppelin-sql server interpreter?

you have provided all details to install from the source, but how to add just this interpreter?

will it support ubuntu 14.04 and java version "1.7.0_111" ??

you have provided recent ones

thank you in advance :)

August 25, 2016 10:57 AM

Antonio Romero said:

Very slick :) I will have to try this for a few other JDBC data sources. You're giving me ideas :)

September 9, 2016 12:36 PM

abx said:


May 31, 2018 11:03 PM

dongdong8 said:



June 29, 2018 3:31 AM

linying123 said:



July 16, 2018 9:24 PM

dongdong8 said:



July 23, 2018 11:43 PM

chenjinyan said:


August 22, 2018 11:17 PM

xiaozhengzheng said:

2018-11-20 xiaozhengzheng

November 19, 2018 8:30 PM

Leave a Comment


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


Privacy Statement