【大数据】windows 下python3连接hive
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【大数据】windows 下python3连接hive,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1916字,纯文字阅读大概需要3分钟。
内容图文
![【大数据】windows 下python3连接hive](/upload/InfoBanner/zyjiaocheng/938/7002ee75015a482897cd068ba1abacb9.jpg)
注意:impyla 既可以连接impala, 也可以连接hive
环境 : windows10
python版本:3.6
hive版本:1.1
亲测可用!
impyla安装过程
安装依赖
pip install bit_array
pip install thrift
pip install thriftpy
pip install pure_sasl
pip install --no-deps thrift-sasl==0.2.1
安装impyla
pip install impyla
连接Hive
# -*-coding:utf-8 -*- from impala.dbapi import connect conn = connect(host='ip', port=port, database='default', user='user_name', password='password', auth_mechanism="PLAIN") cur = conn.cursor() cur.execute('show tables') print(cur.fetchall())
注意事项
1.重点不要安装sasl,否则会提示报错
卸载方式:pip uninstall sasl
2.在安装过程中,如果出现包安装失败的情况,可以下载whl包进行安装,下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/
安装方式:pip install 包的绝对路径
3.如果在安装过程中,出现任何包安装失败的问题,可以先将之前所有安装过的包统统卸载,再按顺序依次安装一次
问题集锦
impyla (0.14.0) ERROR - 'TSocket' object has no attribute 'isOpen'
这个问题的原因是thrift-sasl版本过高导致的,将其换成0.2.1的版本即可
pip install thrift-sasl==0.2.1
thriftpy2.protocol.exc.TProtocolException: TProtocolException(type=4)
这是由于auth_mechanism设置的问题导致的,加上或将其改为auth_mechanism="PLAIN"即可
TypeError: can’t concat str to bytes
修改 thrift-sasl init.py,在第94行之前加上以下语句即可:
if (type(body) is str): body = body.encode()
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下采用pyhive连接方式提出的错误,正如前言所述,可能需要修改对应的配置文件,也可能sasl根本就不支持Windows,建议改用impyla形式连接
thriftpy.parser.exc.ThriftParserError: ThriftPy does not support generating module with path in protocol 'c'
修改thriftpy包下\parser\parser.py"中第488行代码,将"if url_scheme == '':" 修改为"if len(url_scheme) <=1:"即可
转载自 https://www.aitolearn.com/article/9a06a8e1ff5e4252aa2373eb3cc4fed8
内容总结
以上是互联网集市为您收集整理的【大数据】windows 下python3连接hive全部内容,希望文章能够帮你解决【大数据】windows 下python3连接hive所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。