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创建XML文档
Mar 01 Python
python中for语句简单遍历数据的方法
May 07 Python
python实现提取百度搜索结果的方法
May 19 Python
Mac中Python 3环境下安装scrapy的方法教程
Oct 26 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
使用TensorFlow实现二分类的方法示例
Feb 05 Python
Python正则表达式和re库知识点总结
Feb 11 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
django 装饰器 检测登录状态操作
Jul 02 Python
使用python对excel表格处理的一些小功能
Jan 25 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 mvc开发模式的感想
2011/06/28 PHP
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
深入浅析php json 格式控制
2015/12/24 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
php 浮点数比较方法详解
2017/05/05 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
关于Pycharm无法debug问题的总结
2019/01/19 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
在django中,关于session的通用设置方法
2019/08/06 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
python 字符串格式化的示例
2020/09/21 Python
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
轻化专业学生实习自我鉴定
2013/09/20 职场文书
总经理文秘岗位职责
2014/02/03 职场文书
社区母亲节活动方案
2014/03/05 职场文书
会议主持词
2014/03/17 职场文书
白酒代理协议书范本
2014/10/26 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android