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中expandtabs()方法的使用
May 18 Python
Python模拟登录验证码(代码简单)
Feb 06 Python
解决uWSGI的编码问题详解
Mar 24 Python
Python切片操作深入详解
Jul 27 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
基于python实现语音录入识别代码实例
Jan 17 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
基于python 凸包问题的解决
Apr 16 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 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
一个简单的域名注册情况查询程序
2006/10/09 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
事件绑定之小测试  onclick && addEventListener
2011/07/31 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
python中id函数运行方式
2020/07/03 Python
实例代码讲解Python 线程池
2020/08/24 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
Python中return函数返回值实例用法
2020/11/19 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
2014年圣诞节促销方案
2014/03/14 职场文书
内衣营销方案
2014/03/15 职场文书
信用社竞聘演讲稿
2014/05/16 职场文书
商务经理岗位职责
2014/08/03 职场文书
办公室主任岗位职责
2015/01/31 职场文书
在职证明范本
2015/06/15 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis