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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。