Apache Zeppelin is a web-based notebook that enables data-driven,
interactive data analytics, machine learning, and collaborative documents with SQL, Scala, Python, R.
You can manually deploy a compute instance and install zeppelin on it then connect to MySQL Database Service or you can use the Terraform modules I’m sharing on GitHub: https://github.com/lefred/oci-zeppelin-mds
Finally you can also deploy all this by just clicking on the follow button to use OCI’s Ressource Manager Stack. This is the easiest and recommended way to deploy all the resources you need. From the instances to the VCN and security lists.
Once you click on the button, after being authenticated to OCI, you will see a similar screen:
Now will will reach a form to configure some variables:
Fill the required fields. You also have the possibility to deploy a High Available setup for your MDS instance or a HeatWave Cluster (if you use a compatible shape). We will see that later, for the moment just fill the passwords and click “Next”:
You will get a review panel, you can enable the apply of the stack and click on “Create”:
Now, OCI will create all the resources, Zeppellin will be installed and MySQL Connector/J will also be installed to be used with Zeppelin.
Connecting to Zeppelin
When the stack is created and applied, you will have some important output information that you need to be able to connect to the environment we just deployed:
You just need to use that public ip in your browser and you will reach Zeppelin:
Add the MySQL Interpreter
MySQL Connector/J is installed but we need to create an interpreter to use it with Zeppelin.
We first click on the top right and choose “Interpreter”:
Then we click on “+Create”:
We then fill with the following information:
As you can see, we use the jdbc interpreter group and the driver is com.mysql.jdbc.Driver. We also need to specify the IP of the MDS instance.
And finally, we also need to specify MySQL Connector/J as dependency (/opt/zeppelin/interpreter/mysql/mysql-connector-java.jar):
Create a Notebook
We are now ready to create our first Notebook. I’ve loaded the example airport-db on my MDS instance using the Compute instance where MySQL Shell is also installed already by the Stack.
And we need to select our new Interpreter:
We can start with a simple query:
Excellent, now we can use different queries to create some visualization of the data:
As you can see, it’s very easy to deploy Apache Zeppelin on OCI with MySQL Database Service as back-end.
On the next article, we will see how we can enable MySQL Heatwave to speed up all the processed queries when creating large Notebooks.