安装下述包:
thirftpy
thirft-sasl
thirft
pure-sasl(卸载sasl,若要用pyhive,sasl轮子安装路径Link)
impyla
# -*- coding:UTF-8 -*-
from impala.dbapi import connect
#下述host只是个demo,需填入真实ip
conn = connect(host='11.22.33.44', port=21050, auth_mechanism='PLAIN',user='yourusername',password='yourpassword',database='yourdatabasename')
cur = conn.cursor()
sql = "select * from yourtablename limit 10"
# cur.execute('SHOW DATABASES')
# cur.execute('SHOW TABLES')
cur.execute(sql)
print(cur.fetchall())
如要查询自己的服务其是否安装了PLAIN的mechanism,可以在服务器段输入如下命令,查询
rpm -qa | grep sasl
若可以看到cyrus-sasl-plain-2.1.26-20.e17_2.x86_64等文件,就可以用PLAIN,不然需要安装
另外,务必卸载sasl,后安装pure-sasl,这样才能找到PLAIN