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暴力破解zip文件口令的方法详解
Dec 21 Python
python操作redis方法总结
Jun 06 Python
python使用turtle绘制分形树
Jun 22 Python
python实现Flappy Bird源码
Dec 24 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
Python实现的微信支付方式总结【三种方式】
Apr 13 Python
python 叠加等边三角形的绘制的实现
Aug 14 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
python能做什么 python的含义
Oct 12 Python
Python操作注册表详细步骤介绍
Feb 05 Python
浅谈Python中对象是如何被调用的
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
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
浅析Ajax语法
2016/12/05 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
详解JS预解析原理
2020/06/16 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
python全栈知识点总结
2019/07/01 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
python 对xml解析的示例
2021/02/27 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
公司收款委托书范本
2014/09/20 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
python 进阶学习之python装饰器小结
2021/09/04 Python
Mysql忘记密码解决方法
2022/02/12 MySQL
Python如何让字典保持有序排列
2022/04/29 Python