Apache Superset
Introduction
This example provides a base setup for using Apache Superset (a modern data exploration and visualization platform)
"Data and information visualization is an interdisciplinary field that deals with the graphic representation of data and information. It is a particularly efficient way of communicating when the data or information is numerous as for example a time series."
Minimum Software Requirements
Getting Started
Setup
docker version
docker-compose version
Database Setup
In this post we will use docker to deploy Apache Superset, in order to allow Apache Superset to connect to locally installed MySQL database we will have to perform the following operations.
Enable MySQL to be able to listen for an external IP address where the server can be reached.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
update bind-address directive to a wildcard IP address, either *****, ::, or 0.0.0.0 to reference an external IP address.
By default, bind-address is set to 127.0.0.1, meaning that the server will only look for local connections.
Reference: https://www.digitalocean.com/community/tutorials/how-to-allow-remote-access-to-mysql
MySQL User for Apache Superset
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
Reference: https://stackoverflow.com/a/55742963
Bringing up Apache Superset
Updating docker-compose-non-dev.yml to connect to localhost.
git clone https://github.com/apache/superset.git
cd superset/
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
Reference: https://superset.apache.org/docs/installation/installing-superset-using-docker-compose
Accessing Superset GUI
Connect to Database
Host: 172.17.0.1
Port: 3306
Database Name: mysqmpledb
Username: root
Password: root
Display Name: MySQL - LocalHost