问题描述

安装好 superset,版本 2.0.1,通过命令 superset run -p 8088 --with-threads --reload --debugger 启动 debug 模式,在界面配置 presto 数据库连接,点击 TEST CONNECTION,右下角弹出以下错误信息:

1
ERROR: Could not load database driver: PrestoEngineSpec

在启动 superset 之前,服务器上已按照官方文档安装了驱动:

1
pip3 install pyhive

解决方法

从错误信息可以看出这是驱动问题导致的。虽然安装了正确的驱动,但是如果驱动的版本太低,同样也会有问题。通过 pip 安装默认都是最新版本,截至当前,pyhive 的最新版本为 0.6.5。

首先检查服务器上安装的 pyhive 的版本是否为最新的版本:

1
pip3 list

或:

1
2
$ pip3 list |grep PyHive
PyHive 0.6.5

可以看到 PyHive 为最新版本 0.6.5。

如果不是最新版本,可以使用以下命令更新到最新版本:

1
pip install pyhive==0.6.5

更新到最新版本后,连接时还出现错误,说明版本还不适配,还需要执行以下命令:

1
pip3 install 'pyhive[presto]'

安装完成后,重启 superset,再重新连接 Presto,点击 TEST CONNECTION 按钮提示 Connection looks good! 信息,则表示连接成功。

(END)