Deploy Apache Superset with MySQL Database Service on OCI

We already saw how easy it’s to deploy solutions on OCI using Terraform and Resource Manager’s Stack. I’ve published several resources available on this page.

Today we will see how easy it’s to deploy Apache Superset on OCI using MySQL Data Service.

Apache Superset is an open source BI, Reporting, Charting tool that competes with Tableau, Looker, etc.  For a list of companies that have deployed Superset, see:  https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md.

Superset is loaded with options that make it easy for users of all skill sets to explore and visualize their data, from simple line charts to highly detailed geospatial charts.

For a gallery of available charts, see:  https://superset.apache.org/gallery.

MySQL can be used as backend to store the needed information related to the platform (users, settings, dashboards, …) , this represents 55 tables. MySQL can also be used as source for the data visualization.

Preparation

The easiest way to install Apache Superset on OCI is to click this button:

Deploy to Oracle Cloud

You can also use the Terraform modules available on GitHub: https://github.com/lefred/oci-superset-mds.

If you use the Red Pill (by clicking on the image above), you will redirected to OCI’s Dashboard Resource Manager Stack:

You need to accept the Oracle Terms of Use and then the stack’s configuration will be loaded.

Check is you are in the desired compartment and you can click on Next:

You are then redirected to the second screen, the variables configuration one. Some variables are mandatory and self explanatory:

You also have the possibility to choose HA for MySQL DB instance, to load superset sample data (the deployment is then longer) and the Shape Selection. If you plan to use HeatWave on that instance, I recommend you to directly choose a HeatWave compatible Shape (default):

If you already have a VNC and/or a MDS instance you want to use, you can also use the existing OCI infrastructure you have previously deployed:

You need the OCIDs of all the existing resources.

When you have performed all the selection you need, you can continue the process… Usually default should be good, you only require to add the MDS admin’s password and if this is the first Apache Superset deployment, I also recommend to load the sample data.

Deployment

The deployment will start, with the sample data load, this takes approximately 30 minutes…

When ready, the status will change:

At the end of the logs section we already have the output variables we need to use to join our deployment:

And we can retrieve that info in the Outputs section too:

Apache Superset

To reach the Apache Superset we just deployed, we paste the superset_public_ip‘s value on a browser and we use the superset_admin_username and superset_admin_password to connect:

Tadaaaam ! Apache Superset is available and working on OCI with MySQL Database Service.

If you want to connect to another MDS instance that you would use as data source for some visualization graphs, you need to be able to reach it (usually on the same VCN’s subnet or having routing between different VCN’s) and you must use the following syntax as the MySQL Connector installed is mysql-connector-python:

mysql+mysqlconnector://<login>:<password>@<mds IP>:3306/<schema_name>

Conclusion

Using OCI’s Resource Manager Stack (or Terraform) is very easy to deploy Apache Superset on OCI using MySQL Database Service (MDS) as backend.

In few minutes you have an Open Source Data Visualization solution that you can use with your MySQL Database Service instances.

Enjoy OCI, MySQL and MySQL Database Service !

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

As MySQL Community Manager, I am an employee of Oracle and the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

You can find articles I wrote on Oracle’s blog.