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)

留言

熱門文章