Configuring Apache Superset
In this article, we learn how to install and configure Apache superset on Linux. I had installed Ubuntu 18.04 on a virtual machine. While installing, I am getting some errors. So I will discuss finding a way to solve errors while installing.
Let’s start with an introduction to Apache Superset.
Apache superset is a data visualization tool that is used by everyone with any skill set to solve real-world business problems through visualization. It is a lightweight, enterprise-ready business intelligence web application. It’s written in python and uses Flask as a web framework library.
Installation and Configuration
Before installation, install updated package information from configured sources on Linux. We can do this by the following command:
sudo apt-get update
Let’s start with installation…
Step 1: Install OS Dependecies
First, we have to install OS-level dependency which is required to install superset.
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev
Build-essential:- includes the GNU compiler collection, GNU debugger, and other development libraries and tools required for compiling software.
Libssl-dev:- This is a C API. To use it you need to include (at least) OpenSSL/SSL. h and to link your program with libssl library.
Libffi-dev:- The libffi library is useful to anyone trying to build a bridge between interpreted and natively compiled code.
Libsasl2-dev:- This package includes development files for compiling programs with SASL support.
Libldap2-dev:- This package allows the development of LDAP applications using the OpenLDAP libraries.
I had already installed python 3.7 because the new version of Superset requires python 3.7 or above.
Step 2: Upgrade Setup tools and pip
Upgrade pip and setup tools to the latest version using the below command
sudo apt install python3-pip python3-setuptools
Step 3: Create a Python3.7 virtual environment
I had created a python3.7 virtual environment because it uses by default python 3.7 and named this as venv. After creating a virtual environment, activate this.
python3.7 -m venv venv
. venv/bin/activate
Step 4: Install Apache Superset
Follow this command to install Apache Superset
pip3 install apache-superset
Step 5: initialize the database
After installation, initialize your database
superset db upgrade
Step 6: Create an Admin user for Apache Superset
You need to create a user which has Admin rights and you have to enter a username, first name, last name then the password. Using this username and password you can log in to the Apache Superset server.
export FLASK_APP=superset
superset fab create-admin
Step 7: Load Some Example datasets and dashboards
Apache Superset has lots of examples of datasets, dashboards, and charts for practice purposes. You can load that by this
superset load_examples
Step 8: Create default roles and Permissions
After loading Datasets, we need to instantiate the roles(Admin, Alpha, Beta, Gamma) and give permissions to the roles.
superset init
Step 9: start a development server
When you run this command, the flask server runs at localhost whose address is http://127.0.0.1:8088/. After that open this link on your browser to login into Apache Superset.
superset run -p 8088 --with-threads --reload --debugger
Configuring Superset:
Step 1: Create a superset_config.py and add this to your python path
For configuration of superset, first, you need to create a superset_config.py and copy the content from the below image which I have taken from Superset documentation. Add this file to your python folder : — /home/user_name/venv/lib64/python3.7/site-packages/superset
You can refer here to this file.
Step 2. Some changes required in superset_config.py
Replace SQLALCHEMY_DATABASE_URI = ‘sqlite:////path/to/superset.db’ by:
‘postgresql+psycopg2://{username}:{password}@{host}:{port}/{database}’ if you are using PostgreSQL. You can see database url for other SQL databases engine here
And generate a secret key by running following command on python interpreter
import os
os.urandom(24)
This will generate a unique secret key and write this in superset_config.py file as
SECRET_KEY = ‘\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR”\xa1\xa8’
Now everything is good to go and just need to follow instructions to update the database by running commands written in step 5 and after that start a development server by executing commands in step 9.
Conclusion
At the end, You need to log in on the link which is shown in step 10. Start practicing on the dataset which loaded as an example dataset. This is the first screen which is visible to you.
I will share another blog soon related to all errors which occurred during the installation and configuration of Apache Superset. So follow me for more upcoming blogs. Thanks for giving your time to read this blog.