要想使用python连接hive,首先得下载以下几个包:
pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive
但是我们在安装sasl的时候可能会报错,导致安装不上,这个时候就得去sasl下载地址下载我们所需要的sasl,记得要和我们python版本匹配,我这里选择下载的是sasl‑0.2.1‑cp35‑cp35m‑win32.whl并存放到桌面。
然后打开cmd,进入Desktop目录输入: pip install sasl‑0.2.1‑cp35‑cp35m‑win32.whl (如果没安装wheel记得先安装wheel:pip install wheel)
这样就能成功的安装PyHive了。
from pyhive import hive
conn = hive.Connection(host='ip地址', port=10000, username='用户名', database='default')
cursor = conn.cursor()
cursor.execute('select * from testhive limit 10')
for result in cursor.fetchall():
print( result)
但是报错了:
试过将hive-site.xml中的hive.server2.authentication改为NOSASL,但是还是不行。
也试过在ubuntu中装libsasl2-modules,也还是不行。
以下是一些查阅的资料,希望对各位有帮助:
https://github.com/dropbox/PyHive/issues/161
https://github.com/dropbox/PyHive/issues/32
https://github.com/cloudera/impyla/issues/267
通过impyla也可以链接连接hive还是,具体见我这篇博文:https://blog.csdn.net/a6822342/article/details/80844072