oguz_eren
oguz_eren

Reputation: 21

Superset - Hive Connection Issue

I can connect to HIVE using sqlalchemy without any issues :

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,)

But when I try to connect Superset to Hive, I receive the following error :

ERROR: {"error": "Connection failed!\n\nThe error message returned was:\nCan't load plugin: sqlalchemy.dialects:hive"}

Details are as follows :

I have a single-node HDP-3.1.4.0 setup on my laptop. I have the following services up and running : HDFS 3.1.1, Hive 3.1.0, Zookeeper 3.4.6, Superset 0.23.0

Python version is Python 2.7.15+.

Hive command line interface works smoothly.

I've installed the following python modules:

pip install thrift
sudo apt-get install libsasl2-dev
pip install sasl
pip install thrift_sasl
pip install pyhive

Last but not least, I have a KUbuntu 18.04.

On Superset, I try to add a database named "default", and I set the SQLAlchemy URI to

hive://dikanka:10000

which is exactly the same URI I used with create_engine above.

Then I click "Test Connection", with all default values for the rest of the form.

I get the error as mentioned above.

Here is a screenshot

Upvotes: 2

Views: 1970

Answers (1)

z_eb
z_eb

Reputation: 93

In order to instal the hive sqlalchemy driver you need to do

pip install 'pyhive[hive]'

That should fix the error you got.

Upvotes: 0

Related Questions