无法加载数据库驱动:KylinEngineSpec

Could not load database driver: KylinEngineSpec

只需在 Kubernetes 中安装 Apache Superset。 在同一个 Kubernetes 集群中已经有一个可用的 Apache Kylin 集群。 在 Superset 中尝试连接 Kylin 时,我收到以下错误消息:

ERROR: Could not load database driver: KylinEngineSpec

Superset 是使用此存储库安装的:

helm repo add superset https://apache.github.io/superset

使用的连接字符串:

kylin://<username>:<password>@<hostname>:<port>/<project name>

有什么想法吗?

默认超集未安装 KylinEngineSpec 驱动程序。您需要在安装时将其作为附加要求提供。

Apache Kylin 推荐驱动为kylinpy[reference].

更新

文档有点误导。在 additionalRequiremets 中指定附加包无法正确安装它们。相反,您必须将它们添加到 bootstrapScript.
创建一个带有覆盖的文件(在我的例子中它将是 my-values.yaml), 将下面添加到此文件

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

记住,这将覆盖 bootstrapScript 而不是添加到它
然后,安装具有新值的超集

helm upgrade --install --values my-values.yaml <release-name> superset/superset

<release-name>替换成你想要的名字
或者升级,如果你已经安装了超集

helm upgrade --values my-values.yaml <release-name> superset/superset

再次将 <release-name> 替换为您的版本名称
然后,在执行到 pod 后,您可以看到 kylinpy 已安装

root@superset-868c768599-24xc2:/app# pip list | grep kylinpy
kylinpy                2.8.4

要安装它,请指定 additionalRequirements--set 标志 [reference]

helm install --set additionalRequirements={kylinpy} <release-name> superset/superset

用你想要的名字替换<release-name>

如果您已经安装了超集,您可以执行升级:

helm upgrade --set additionalRequirements={kylinpy} <release-name> superset/superset

再次,将 <release-name> 替换为您的版本名称

使用helm get values查看新设置是否生效。你应该会看到类似

的内容
USER-SUPPLIED VALUES:
additionalRequirements:
- kylinpy

我强烈建议通读 official docs 关于 Kubernetes 中的 运行 超集。除了数据库驱动程序之外,还有很多设置需要更改。