欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

安装pyhive包

发布时间:2023/12/31 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 安装pyhive包 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、环境:Windows + Pycharm+ Python37
1、安装pyhive包:sasl、thrift、thrift-sasl、PyHive
Pycharm的Terminal中运行:

pip install thrift -i https://pypi.tuna.tsinghua.edu.cn/simple pip install thrift-sasl -i https://pypi.tuna.tsinghua.edu.cn/simple pip install PyHive -i https://pypi.tuna.tsinghua.edu.cn/simple

其中sasl在Windows安装下安装需要编译环境,为了方便可直接从Link下载编译好的包,直接进行安装,比如python37 64bit电脑选择sasl-0.2.1-cp37-cp37m-win_amd64.whl:

pip install windos路径/sasl-0.2.1-cp37-cp37m-win_amd64.whl

2、安装完毕,执行代码会报以下错误

thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'

解决方案:
在Windows中使用管理员权限打开控制台,在控制执行一段命令即可:

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library" /v SearchPath /t REG_SZ /d "项目路径\项目名\venv3.7\Lib\site-packages\sasl\sasl2"

3、就可以使用pyhive来通过python连接hive了。

from pyhive import hiveconn = hive.Connection(host='xxx', port=xxx, username='xxx',password='xxx', database='xxx', auth='LDAP') cursor = conn.cursor() # cursor.execute('show tables') cursor.execute('select count(1) from xx.xxx where xxx="xxx"') for result in cursor.fetchall():print(result)

二、环境:Linux + Python36

1、切换成 xxx 用户 su xxx 2、查看python36路径 which python36 3、切换成root用户 exit 4、安装pyhive /xxx/python36 -m pip install pyhive

参考链接:[解决方案] Windows pyhive Could not start SASL

总结

以上是生活随笔为你收集整理的安装pyhive包的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。