按照以下顺序安装所需的包及版本
- pip install pure-sasl
- pip install thrift_sasl==0.2.1 --no-deps
- pip install thrift==0.9.3
- pip install impyla
安装完成之后 测试连接
from impala.dbapi import connect
conn = connect(host='127.0.0.1', port=10000, database='default',auth_mechanism='PLAIN')
cur = conn.cursor()
cur.execute('SHOW DATABASES')
print(cur.fetchall())
报如下错误
- TypeError: can't concat str to bytes
根据日志定位到错误的地方
lib\site-packages\thrift_sasl\__init__.py", line 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)
执行连接 成功