python 操作hive pyhs2方式


Posted in Python onDecember 21, 2019

使用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方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现windows下模拟按键和鼠标点击的方法
Mar 13 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
基于python 处理中文路径的终极解决方法
Apr 12 Python
对python中的xlsxwriter库简单分析
May 04 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
Python绘制动态水球图过程详解
Jun 03 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
Oct 15 Python
python两种获取剪贴板内容的方法
Nov 06 Python
python 消费 kafka 数据教程
Dec 21 #Python
python kafka 多线程消费者&手动提交实例
Dec 21 #Python
Python序列类型的打包和解包实例
Dec 21 #Python
Python 使用threading+Queue实现线程池示例
Dec 21 #Python
Python CSV文件模块的使用案例分析
Dec 21 #Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 #Python
Python数据持久化存储实现方法分析
Dec 21 #Python
You might like
php实现高效获取图片尺寸的方法
2014/12/12 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
js简单抽奖代码
2015/01/16 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
某个公司的Java笔面试题
2016/03/11 面试题
大专毕业生简历的自我评价
2013/10/20 职场文书
领导干部培训感言
2014/01/23 职场文书
消防安全标语
2014/06/07 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
同学聚会通知书
2015/04/20 职场文书
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技