开始之前,可以先参考这两篇文章:
1. windows7下给python3安装impyla的艰辛历程
2. python连接impala报错
根据上面文章,我们知道,娇嫩的impyla对于依赖包的版本要求相当高,归结下来就是:
pip install ipython six bit_array thrift==0.9.3 thrift_sasl==0.2.1 pure_sasl impyla==0.14.0
特别强调,在此处最坑的就是,一定要在运行上面的代码前把当前环境的跟impyla有任何关系的包卸载掉!包括但不限于下面的:
- 卸载掉impyla和impala,是的我也不知道为什么impyla有俩名字;我们需要安装的是impyla,但是使用时是
from impala.dbapi import connect
- 卸载掉thrift和thriftpy ,是的,这玩意也有俩名字;
- 卸载掉thrift_sasl和sasl;注意,虽然impyla指定的是sasl这个包,但是很容易报错,我们使用pure_sasl更保险,原因我也不知道;
注意,在安装某些包时,会遇到后面安装的包在安装依赖时把前面的包版本替换的问题,所以最后还需要确保最终的版本正确。