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脚本来控制Windows Azure的简单教程
Apr 16 Python
python传递参数方式小结
Apr 17 Python
python抓取最新博客内容并生成Rss
May 17 Python
python 多线程重启方法
Feb 18 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
Python求正态分布曲线下面积实例
Nov 20 Python
基于Python获取城市近7天天气预报
Nov 26 Python
python几种常用功能实现代码实例
Dec 25 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Keras在训练期间可视化训练误差和测试误差实例
Jun 16 Python
基于Python和C++实现删除链表的节点
Jul 06 Python
Python之字典添加元素的几种方法
Sep 30 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 加密与解密的斗争
2009/04/17 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
php生成curl命令行的方法
2015/12/14 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
Python Deque 模块使用详解
2014/07/04 Python
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
服务中心夜班服务员岗位职责
2013/11/27 职场文书
春节请假条
2014/04/11 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
React如何创建组件
2021/06/27 Javascript