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写的一个简单DNS服务器实例
Jun 04 Python
python将文本转换成图片输出的方法
Apr 28 Python
Python字符串处理实例详解
May 18 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
Django实战之用户认证(用户登录与注销)
Jul 16 Python
python使用epoll实现服务端的方法
Oct 16 Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
python的常见矩阵运算(小结)
Aug 07 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 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 数组实例说明
2008/08/18 PHP
一些使用频率比较高的php函数
2008/10/03 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
JavaScript对象模型-执行模型
2008/04/28 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
基于JavaScript实现抽奖系统
2018/01/16 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
vue3.0中使用element的完整步骤
2021/03/04 Vue.js
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Python 数据结构之队列的实现
2017/01/22 Python
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
大学生活学习的自我评价
2013/12/03 职场文书
大二自我鉴定
2014/01/31 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
与美同行演讲稿
2014/09/13 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
docker 制作mysql镜像并自动安装
2022/05/20 Servers