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正则表达式匹配ip地址实例
Oct 09 Python
python getopt详解及简单实例
Dec 30 Python
Python守护线程用法实例
Jun 23 Python
python 生成图形验证码的方法示例
Nov 11 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
pandas的排序和排名的具体使用
Jul 31 Python
对Django 转发和重定向的实例详解
Aug 06 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 Python
python中time tzset()函数实例用法
Feb 18 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
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
php两种无限分类方法实例
2015/04/21 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
js导航菜单(自写)简单大方
2013/03/28 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
Python编程之微信推送模板消息功能示例
2017/08/21 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
python opencv调用笔记本摄像头
2019/08/28 Python
如何基于python生成list的所有的子集
2019/11/11 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
职业生涯规划书基本格式
2014/01/06 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
红色旅游心得体会
2014/09/03 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
优秀教师个人材料
2014/12/15 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL