Getting Started with the GridDB JDBC Tableau Connector Plugin

The GridDB team has recently released a Tableau connector plugin which allows the usage of GridDB as a data source for Tableau; this connector is made available for free via GitHub. This blog aims to serve as a launching point for any users interested in using these terrific products together.

Prerequisites

To get the obvious out of the way, you will of course need to download Tableau from their website. If you are more of a try-and-see kind of person, you can sign up for a 14 day trial free of charge. A thing to note here is that Tableau requires either Windows or Mac to run. This means that in order for me run these products together, I will need two workstations: one running Ubuntu which houses my GridDB server, and another running Windows with Tableau; your mileage of course may vary depending on your own use case and setup.

To get the two distinct products to communicate, we will be utilizing JDBC. You can learn more about setting up JDBC with your GridDB server from one of our recent blogs here. Following that blog will get your GridDB up and running with the JDBC communication available via port 31999/20001.

Installation/Connection

The first thing we will need to do is to grab the gridstore jdbc driver ( gridstore-jdbc-4.X.X.jar) from your GridDB server’s machine (please make sure you are using the latest jar file as older versions may not work). Now please copy it into your Tableau drivers’ directory

C:\Program Files\Tableau\Drivers\

After that, download the actual plugin zip file from GitHub and unzip. From within the unzipped content, grab the griddb_jdbc.taco and copy it over to your Tableau connectors dir:

C:\Users\[Windows User]\Documents\My Tableau Repository\Connectors

That’s it! Now the only thing left to mention is that when you run your tableau.exe file, you will need to run it with some flags/options

"C:\Program Files\Tableau\Tableau 2020.3\bin\tableau.exe" -DDisableVerifyConnectorPluginSignature=true

It’s easy enough to make a small batch file to do this every time:

cd C:\Program Files\Tableau\Tableau 2020.3\bin
tableau.exe -DDisableVerifyConnectorPluginSignature=true

Now when you want to run Tableau with GridDB, simply run that script.

Connecting to GridDB with Tableau via JDBC

After launching Tableau with your script, click the “more…>” button under To a Server and find GridDB JDBC by Toshiba and enter your credentials.

For me, it looked like this:

Potential issues

Please take a look at the port I am using here. When you run JDBC locally on your own machine, the port that will work is 41999 and the address will be 239.0.01. When connecting your 2nd workstation within your network, you will need to use the host machine’s IP and port 20001.

Another thing to note is that the GitHub instructions indicate using the fixed list method for your GridDB server. If you need to run your infrastructure as I did (i.e., two workstations, one of them being Ubuntu with GridDB running), the fixed list method does not appear to work at the moment. The issue stems from not being able to start up the GridDB server with the host ip set as anything other than local host (which then means connecting via remote machine is impossible). The main point is that you are perfectly okay to run GridDB with its default multicast configuration as I have demonstrated.

Displaying data

Now that you are all connected, type in a known table/container name into the search bar and select update your Tableau with that container’s data. Now on to the fun part: visualizing!

Visualizing Data

For my test data set, I used the CASAS data set that we used in our Kafka tutorial. The CASAS data set comes with tons of info, so for my brief example, I simply picked one of the many sensors to display into a nice chart.

Depending on how your data set is configured/looks, many of the pretty Tableau graphs will be made available to you.

Conclusion

We hope this blog provided adequate information for you to get started running your own GridDB/Tableau stack. We will publish a second portion of this blog later with a different data set, so be on the lookout for that!