【发布时间】:2019-10-08 14:07:55
【问题描述】:
我可以毫无问题地使用 sqlalchemy 连接到 HIVE:
oguz@dikanka:~$ python
Python 2.7.15+ (default, Jul 9 2019, 16:51:35)
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from sqlalchemy import create_engine
>>> engine = create_engine('hive://dikanka:10000')
>>> result = engine.execute("select movieid from default.ratings")
>>> result.first();
(242,)
但是当我尝试将 Superset 连接到 Hive 时,我收到以下错误:
ERROR: {"error": "Connection failed!\n\nThe error message returned was:\nCan't load plugin: sqlalchemy.dialects:hive"}
详情如下:
我的笔记本电脑上有一个单节点 HDP-3.1.4.0 设置。 我启动并运行了以下服务:HDFS 3.1.1、Hive 3.1.0、Zookeeper 3.4.6、Superset 0.23.0
Python 版本为 Python 2.7.15+。
Hive 命令行界面运行流畅。
我已经安装了以下 python 模块:
pip install thrift
sudo apt-get install libsasl2-dev
pip install sasl
pip install thrift_sasl
pip install pyhive
最后但同样重要的是,我有一个 KUbuntu 18.04。
在 Superset 上,我尝试添加一个名为“default”的数据库,并将 SQLAlchemy URI 设置为
hive://dikanka:10000
这与我在上面的 create_engine 中使用的 URI 完全相同。
然后我点击“测试连接”,表单其余部分的所有默认值。
我收到上述错误。Here is a screenshot
希望有人能帮我解决这个问题。
【问题讨论】: