Я могу подключиться к HIVE с помощью sqlalchemy без каких-либо проблем:
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.
On Superset,Я пытаюсь добавить базу данных с именем «default» и устанавливаю URI SQLAlchemy равным
hive://dikanka:10000
, который является точно таким же URI, который я использовал с create_engine выше.
Затем я нажимаю «Тест»Соединение ", со всеми значениями по умолчанию для остальной части формы.
Я получаю ошибку, как упомянуто выше. Вот скриншот
Надеюсь, кто-то там может помочья исправлю это.