windows impyla安装 和 使用
impyla可以连接hive,可以提交hive SQL和impala SQL查询
我环境中已经成功安装过pyhive
直接通过pip install impyla安装成功
但是我发现稍微耗时多一点点的SQL(超过5秒),大概率会卡死或者报一些奇怪的错,只有小概率会成功跑出结果,后来搜了一下,发现大家安装impyla,用的thrift-sasl版本都是0.21,而我是直接通过pip install thrift-sasl安装,安装的应该是最新版本,版本号是0.4.2,
于是,我直接用网上的命令
pip install thrift_sasl==0.2.1 --no-deps
--no-deps参数的意思,是不安装包的相关依赖包
使用这条命令,thrift_sasl成功降到了0.2.1,之前0.4.2版本被覆盖
但是这个时候用impyla连hive报错
没有thriftpy,我发现我库里面有thriftpy2,确实没有thriftpy
使用pip install thriftpy,成功安装
最后程序成功连接hive,跑通程序,速度比hue的impala会慢一些,但似乎不慢于mysql
impyla的使用demo:
from impala.dbapi import connect
conn = connect(host='10.1.34.11', port=21050, database='dwd', auth_mechanism='LDAP', user='hive',password='Yh601933.,')
cursor = conn.cursor()
cursor.execute(sql)
data = cursor.fetchall()
conn.close()
更为方便的方式
conn可以直接传给pd.read_sql获取dataframe
df = pd.read_sql(sql,conn)
留言
張貼留言