python 操作hive pyhs2方式
使用kerberos时
importpyhs2
classHiveClient:
#初始化
def__init__(self,db_host,user,password,database,port=10000,authMechanism="PLAIN",configuration=None):
self.conn=pyhs2.connect(host=db_host,
port=port,
authMechanism=authMechanism,
user=user,
password=password,
database=database,
configuration=configuration,
)
#查询方法
defquery(self,sql):
withself.conn.cursor()ascursor:
cursor.execute(sql)
returncursor.fetch()
defclose(self):
self.conn.close()
defgetHiveData(sql):
config={"mapreduce.job.queuename":"default",'krb_host':'hiveserve2ip','krb_service':'hive'}
hive_client=HiveClient(db_host='hiveserve2ip',port=10000,user='user@kdc.com',password='hive',database='dw.usee',
authMechanism='KERBEROS',configuration=config)
printsql
result=hive_client.query(sql)
returnresult
CouldnotstartSASL:Errorinsasl_client_start(-1)SASL(-1)
安装
yuminstallcyrus-sasl-plaincyrus-sasl-develcyrus-sasl-gssapi
pyhs2安装sasl问题
yuminstallcyrus-sasl-devel yuminstallcyrus-sasl-lib yuminstalllibgsasl-devel yuminstallsaslwrapper
对接supersethivekerberos
SQLAlchemyURI
hive://herverser2ip:10000/db
扩展连接参数
{
"metadata_params":{},
"engine_params":{
"connect_args":{
"auth":"KERBEROS",
"kerberos_service_name":"hive",
"username":"user@KDC.COM"
}
}
}
以上这篇python操作hivepyhs2方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。