april 19, 2023
Connecting Apache SuperSet to Apache Kylin.
The combination of open-source solutions opens up many possibilities for creating analytical systems. In this sense, using Apache Kylin cubes as a data source for Apache SuperSet dashboards is a very attractive idea. However, connecting them is not such a trivial task.
Environment:
— Apache SuperSet v.2.0.
— Apache Kylin v.4.0.
As an example, we will use the test project which is in Apache Kylin when we install it. Connection instructions:
1. Superset requires installation of the Python DB-API database driver and the SQLAlchemy dialect for each datastore you want to connect to. Apache Kylin is no exception. There is a list of libraries to install in the documentation at the link:
https://superset.apache.org/docs/databases/installing-database-drivers/
Find the datastore we need and install it.
2. Open SuperSet and configure the connection to the database:
a) In the upper right corner click on «Settings» => «Database Connections».
A list of databases will open.
b) Press the button «+DATABASE» in the upper right corner above the list.
A window will open to configure the connection
c) In the drop down window «SUPPORT DATABASES» choose Apache Kylin, the second step of configuration will open.
d) In the second step you have to write:
— Connection name «DISPLAY NAME» — enter the name of the test project «learn_kylin»;
— Connection link «SQLALCHEMY URL».
In general, the string for the link looks like this:
kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>
You need to correctly enter the user, ip and port parameters of the database, as well as the connection parameters. The description of the parameters can be found in the table at: https://github.com/Kyligence/kylinpy
In our case the combination of parameters for correct connection looks like this:
kylin://XXXX:XXXXXXXX@XXX.XXX.XXX.XXX:XXXX/learn_kylin?prefix=/kylin/api&version=v1.
Press «TEST CONNECTION», in the lower right corner you will see a message about successful connection
e) Press «Finish» in the list will appear with the new database entry.