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 NumPy库安装使用笔记
May 18 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
python实现扫描日志关键字的示例
Apr 28 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
python中的decorator的作用详解
Jul 26 Python
python实现简单图片物体标注工具
Mar 18 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Python 如何反方向迭代一个序列
Jul 28 Python
python实现网页录音效果
Oct 26 Python
Python 用户输入和while循环的操作
May 23 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中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
URI、URL和URN之间的区别与联系
2006/12/20 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
python中定义结构体的方法
2013/03/04 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
python使用openpyxl库修改excel表格数据方法
2018/05/03 Python
Python切片索引用法示例
2018/05/15 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
教师岗位职责范本
2013/12/29 职场文书
运动会入场词100字
2014/02/06 职场文书
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
主管竞聘书范文
2014/03/31 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
海弦WR-800F
2022/04/05 无线电
python数字图像处理:图像的绘制
2022/06/28 Python