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批量下载图片的三种方法
Apr 22 Python
Python对小数进行除法运算的正确方法示例
Aug 25 Python
python logging类库使用例子
Nov 22 Python
pygame学习笔记(4):声音控制
Apr 15 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
python非递归全排列实现方法
Apr 10 Python
在python 中实现运行多条shell命令
Jan 07 Python
Python中正则表达式的用法总结
Feb 22 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
Python标准库shutil模块使用方法解析
Mar 10 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
pytorch锁死在dataloader(训练时卡死)
May 28 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 Cookie的一个使用注意点
2008/11/08 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
原生js实现图片放大缩小计时器效果
2017/01/20 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
python使用SMTP发送qq或sina邮件
2017/10/21 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
工程采购员岗位职责
2014/03/09 职场文书
公路绿化方案
2014/05/12 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
2014年林业工作总结
2014/12/05 职场文书
收费员岗位职责
2015/02/14 职场文书
社会实践单位意见
2015/06/05 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
解决vue中provide inject的响应式监听
2022/04/19 Vue.js
keepalived + nginx 实现高可用方案
2022/12/24 Servers