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实现2014火车票查询代码分享
Jan 10 Python
一个超级简单的python web程序
Sep 11 Python
深入理解Python中字典的键的使用
Aug 19 Python
对Python+opencv将图片生成视频的实例详解
Jan 08 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
python如何安装下载后的模块
Jul 03 Python
python集合能干吗
Jul 19 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 Python
教你用python实现一个无界面的小型图书管理系统
May 21 Python
python 经纬度求两点距离、三点面积操作
Jun 03 Python
python脚本框架webpy模板控制结构
Nov 20 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安全性漫谈
2012/06/28 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
PDO::errorCode讲解
2019/01/28 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
javascript json2 使用方法
2010/03/16 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
jQuery表单验证之密码确认
2017/05/22 jQuery
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
小程序开发之模态框组件封装
2020/04/23 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
python学习必备知识汇总
2017/09/08 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
基于Python实现天天酷跑功能
2021/01/06 Python
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
高中军训感言800字
2014/03/05 职场文书
总经理检讨书
2014/09/15 职场文书
蓬莱阁导游词
2015/02/04 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
逃课检讨书范文
2015/05/06 职场文书
横空出世观后感
2015/06/09 职场文书