python2.7连接hive(使用impyla)环境搭建
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python2.7连接hive(使用impyla)环境搭建,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1826字,纯文字阅读大概需要3分钟。
内容图文
![python2.7连接hive(使用impyla)环境搭建](/upload/InfoBanner/zyjiaocheng/834/6a8b9828b9504430af05b0e73447c882.jpg)
已有环境:
hive部署在linux系统的跳板机上的某个节点,要连接hive,需要将自己的vpn加入白名单(运维协助)
python2.7连接hive
先安装必要的包
1.pip install six;
2.pip install bit_array;
3.pip install thriftpy 备注: thrift (on Python 2.x) or thriftpy (on Python 3.x)
4.pip install thrift_sasl
5.pip install sasl
若报错error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
此错误需要安装Visual Studio
安装地址:https://pan.baidu.com/s/1URHzFhpsYA06Ck7FJzu4yw
安装好又报错error: command’C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe’ failed with exit status 2
安装的sasl版本不适用问题,python27的
重新下载sasl,https://pan.baidu.com/s/14-ubkI6YdHBrjKQC2DCY3Q
将下载的文件解压发在site-packages目录下,这是已安装好的包,放在此目录下就行
如报错:'TSocket' object has no attribute 'isOpen'
则是thrift-sasl的版本太高了(0.3.0),故将thrift-sasl的版本降级到0.2.1
pip install thrift-sasl==0.2.1
此时安装impyla
pip install impyla
可以安装成功了,测试连接hive
若报错TypeError: can’t concat str to bytes
定位到错误的最后一条,在init.py第94行
header = struct.pack(">BI", status, len(body))
self._trans.write(header + body)
修改为
header = struct.pack(">BI", status, len(body))
if(type(body) is str):
body = body.encode()
self._trans.write(header + body)
#coding=utf8
from impala.dbapi import connect
ip='192.168.97.47'
db='aaa'
sql='select * from a limit 5'
conn = connect(host=ip, port=10000, database=db, auth_mechanism='PLAIN')
cursor = conn.cursor()
try:
cursor.execute(sql)
result = cursor.fetchone()
print(result)
except Exception as e:
print('get record nexthiveUpdateTime file fail:"dw_utime" ')
返回结果,则连接成功
可参考博客https://blog.csdn.net/Xiblade/article/details/82318294?utm_source=copy
内容总结
以上是互联网集市为您收集整理的python2.7连接hive(使用impyla)环境搭建全部内容,希望文章能够帮你解决python2.7连接hive(使用impyla)环境搭建所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。