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实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
10个Python小技巧你值得拥有
Sep 29 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
对python3标准库httpclient的使用详解
Dec 18 Python
Python基础之函数的定义与使用示例
Mar 23 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
Aug 02 Python
python计算二维矩形IOU实例
Jan 18 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
Python图像读写方法对比
Nov 16 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 验证码的实现代码
2011/07/17 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
javascript基本语法
2016/05/31 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
原生JS实现留言板
2020/03/26 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
Python多线程下载文件的方法
2015/07/10 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
房产买卖委托公证书
2014/04/04 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书