Just install Apache Superset within Kubernetes. Already have a working Apache Kylin Cluster in the same Kubernetes Cluster. While trying to connect Kylin within Superset i get the following error message:
ERROR: Could not load database driver: KylinEngineSpec
Superset is installed using this repo:
helm repo add superset https://apache.github.io/supersetThe connection string which is used:
kylin://<username>:<password>@<hostname>:<port>/<project name>Any ideas?
By default superset comes with no KylinEngineSpec driver installed. You need to provide it as an additional requirement at install.
Recommended driver for Apache Kylin is kylinpy <sup>[reference]</sup>.
The documentation is a bit misleading. Specifying additional packages in additionalRequiremets does not properly install them. Instead you have to add those to bootstrapScript.
Create a file with overrides (in my case it will be my-values.yaml),
add below to this file
bootstrapScript: |
#!/bin/bash
rm -rf /var/lib/apt/lists/* && \
pip install \
kylinpy \
psycopg2==2.8.5 \
redis==3.2.1 && \
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi<sup>Rembember, this will override bootstrapScript not add to it</sup>
Then, to install superset with new values
helm upgrade --install --values my-values.yaml <release-name> superset/superset<sup>Replace <release-name> witho your desired name</sup>
or upgrade, if you already have superset installed
helm upgrade --values my-values.yaml <release-name> superset/superset<sup>Again replace <release-name> with your release name</sup>
Then, after execing into a pod, you can see kylinpy was installed
root@superset-868c768599-24xc2:/app# pip list | grep kylinpy
kylinpy 2.8.4To install it specify additionalRequirements with --set flag <sup>[reference]</sup>
helm install --set additionalRequirements={kylinpy} <release-name> superset/superset<sup>replace <release-name> with your desired name</sup>
If you already have superset installed, you can perform an upgrade:
helm upgrade --set additionalRequirements={kylinpy} <release-name> superset/superset<sup>Again, replace <release-name> with your release name</sup>
Use helm get values to see whether that new setting took effect. You should see something like
USER-SUPPLIED VALUES:
additionalRequirements:
- kylinpy
I strongly recommend going through official docs about running superset in Kubernetes. There are a lot more settings to change other than database drivers.