背景
需要连接hive获取,hive表信息。而且是在windows上开发,linux上部署
impala连接hive
本地windows环境为python37,
pip3 uninstall sasl #如果无法安装,那么就去site-packages目录下删除它
pip3 install impyla
pip3 install pure-sasl
pip3 install thrift_sasl==0.2.1 --no-deps
from impala.dbapi import connect
#hive连接
def connect_hive(sql="desc ads_sum_class_exam_measure_di "):
conn = connect(host=conf['hive']['host'], port=int(conf['hive']['port']), auth_mechanism='PLAIN', user=conf['hive']['user'], database=conf['hive']['database'])
try:
cur=conn.cursor()
# desc ads_sum_class_exam_measure_di
cur.execute(sql)
data=cur.fetchall()
finally:
conn.close()
return data
linux下部署
由于linux没有网络,于是https://pypi.org/,一个个下载
pip3 install impyla
pip3 install pure-sasl
pip3 install thrift_sasl==0.2.1 #这个好像就是没有办法安装成功,没有影响