Connecting Apache Zeppelin to your SQL Server

Raymond Tang Raymond Tang 0 4523 1.73 index 4/22/2018

This page demonstrates the steps you need to connect to SQL Server in Zeppelin. There are many ways to implement this, for example SQL Server interpreters in GitHub. In this page, I am going to use the JDBC driver to connect to SQL Server instead of using third party interpreters.

For authentication, I am using database login (SQL Server authentication) instead of Windows login since my machine is not part of any domain. If you want to setup Kerberos authentication, please refer the following link about how to configure ktab file name and SPN:

Java Kerberos Authentication Configuration Sample & SQL Server Connection Practice

Prerequisites

If you have not installed Zeppelin, follow the link below to setup your local instance:

Install Zeppelin 0.7.3 in Windows

Java JDK is also required, which is included as part of the above installation guide.

Connect to SQL Server

Setup SQL Server account

In my machine, I’ve setup one SQL Server login in my local SQL Server instance:

Login: zeppelin

Password: zeppelin

The above credential is going to be used when setting up interpreter.

Setup interpreter

In Zeppelin website, click Interpreter menu.

https://api.kontext.tech/resource/50e269c7-fc3e-5f63-b1d5-756726f52bb1

Click create button.

Input the following:

  • **Interpreter Name:**tsql
  • Interpreter group: jdbc

https://api.kontext.tech/resource/a889c7e7-0558-510c-b00c-d0bb9d1b865a

Setup the following properties:

  • default.driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
  • default.password: zeppelin
  • default.url: jdbc:sqlserver://localhost
  • default.user : zeppelin
  • zeppelin.jdbc.auth.type: SIMPLE
  • artifact: com.microsoft.sqlserver:mssql-jdbc:6.5.1.jre8-preview

https://api.kontext.tech/resource/77000810-062b-5917-8429-98801bde8317 You can change the property values to your own environment setup.

For the artifact setting, you can use local lib file path or using groupid:artifact id:version. In my case, I am using the following SQL Server JDBC library.

https://search.maven.org/#artifactdetails%7Ccom.microsoft.sqlserver%7Cmssql-jdbc%7C6.5.1.jre8-preview%7Cjar

Click Save button to save this new interpreter.

Create note

Now you can create a new note with the new interpreter (%tsql).

The following is a sample code I use:

%tsql

select * from sys.all_objects where type='U'

The screenshot below shows the result:

https://api.kontext.tech/resource/e29eadab-eb94-5e9a-92a0-52f70b1bd723

Summary

It’s very easy to use JDBC to connect to SQL Server or any other JDBC compatible databases, for example, Oracle and Teradata.

Once you can connect to the database, you can then do analytics easily in Zeppelin.

sql-server zeppelin

Join the Discussion

View or add your thoughts below

Comments