python 操作hive pyhs2方式
更新时间:2019年12月21日 15:59:13 作者:bigdataf
今天小编就为大家分享一篇python 操作hive pyhs2方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用kerberos时
import pyhs2 class HiveClient: # 初始化 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, ) # 查询方法 def query(self, sql): with self.conn.cursor() as cursor: cursor.execute(sql) return cursor.fetch() def close(self): self.conn.close() def getHiveData(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) print sql result = hive_client.query(sql) return result
Could not start SASL: Error in sasl_client_start (-1) SASL(-1)
安装
yum install cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
pyhs2 安装 sasl问题
yum install cyrus-sasl-devel yum install cyrus-sasl-lib yum install libgsasl-devel yum install saslwrapper
对接superset hive kerberos
SQLAlchemy URI
hive://herverser2ip:10000/db
扩展 连接参数
{ "metadata_params": {}, "engine_params": { "connect_args": { "auth": "KERBEROS", "kerberos_service_name": "hive", "username" : "user@KDC.COM" } } }
以上这篇python 操作hive pyhs2方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
利用pandas如何实现类似sql中的left join操作
这篇文章主要介绍了利用pandas如何实现类似sql中的left join操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06Pycharm Available Package无法显示/安装包的问题Error Loading Package Li
这篇文章主要介绍了Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
最新评论