HiveServer2为客户端在远程执行hive查询提供了接口,通过Thrift RPC来实现,还提供了多用户并发和认证功能。目前使用python的用户可以通过pyhs2这个模块来连接HiveServer2,实现查询和取回结果的操作。

pyhs2的项目托管在github之上,地址为https://github.com/BradRuderman/pyhs2

可通过以下方式来安装:

easy_install pyhs2

如果安装不成功,可以尝试先安装以下的组件:

yum install cyrus-sasl-plain

yum install cyrus-sasl-devel

以下为一段测试用的代码,pyhs2提供了基本的功能,查询输出的结果为list,做点每天的定时任务用这个来写脚本还是很方便的:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# hive util with hive server2

"""

@author:knktc

@create:2014-04-08 16:55

"""

__author__ = 'knktc'

__version__ = '0.1'

import pyhs2

class HiveClient:

def __init__(self, db_host, user, password, database, port=10000, authMechanism="PLAIN"):

"""

create connection to hive server2

"""

self.conn = pyhs2.connect(host=db_host,

port=port,

authMechanism=authMechanism,

user=user,

password=password,

database=database,

)

def query(self, sql):

"""

query

"""

with self.conn.cursor() as cursor:

cursor.execute(sql)

return cursor.fetch()

def close(self):

"""

close connection

"""

self.conn.close()

def main():

"""

main process

@rtype:

@return:

@note:

"""

hive_client = HiveClient(db_host='hiveserver2.hadoop', port=10000, user='hdfs', password='mypass',

database='test_log', authMechanism='PLAIN')

result = hive_client.query('select * from t_test limit 10')

print result

hive_client.close()

if __name__ == '__main__':

main()

使用python来操作hive(通过 pyhs2 和 HiveServer2)相关推荐

  1. python操作hive数据库代码_windows下怎么用python连接hive数据库

    展开全部 由于版本的不同,Python 连接 Hive 的方式也就不一样. 在网上搜索关键字 python hive 的时候可以找到一些解决方案.大部分是这3231313335323631343130 ...

  2. python数据导入hive_Python操作HIve,将数据插入到Mysql

    Python操作HIve,将数据插入到Mysql import sys from hive_service import ThriftHive from hive_service.ttypes imp ...

  3. python操作hive数据库代码_python导出hive数据表的schema实例代码

    本文研究的主要问题是python语言导出hive数据表的schema,分享了实现代码,具体如下. 为了避免运营提出无穷无尽的查询需求,我们决定将有查询价值的数据从mysql导入hive中,让他们使用H ...

  4. python操作hive和hive_sql语句

    Hive是一个数据仓库基础的应用工具,在Hadoop中用来处理结构化数据,通过类SQL语言对数据进行操作.Hive将sql语句通过解析器转换成MapReduce作业提交到Hadoop集群上,Hadoo ...

  5. 【阿尼亚喜欢BigData】“红亚杯”数据分析进阶—使用Python操作Hive专题赛——满分解析③

    大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"数据分析进阶-使用Python操作Hive专题赛--满分解析系列 ...

  6. 【阿尼亚喜欢BigData】“红亚杯”数据分析进阶—使用Python操作Hive专题赛——满分解析②

    大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"数据分析进阶-使用Python操作Hive专题赛--满分解析系列 ...

  7. python读取oracle数据到hvie parquet_关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中...

    说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spar ...

  8. Spark采坑系列(三)Spark操作Hive的坑

    2019独角兽企业重金招聘Python工程师标准>>> 跟着教学试着用Idea编程,实现Spark查询Hive中的表.结果上来就凉了. 捣鼓好久都不行,在网上查有说将hive-sit ...

  9. python处理excel表格实例-通过实例学习Python Excel操作

    这篇文章主要介绍了通过实例学习Python Excel操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python 读取Excel # -* ...

最新文章

  1. 汇编OFFSET,SEG,LEA
  2. BZOJ2329: [HNOI2011]括号修复(Splay)
  3. C++ 解决enum redeclaration的冲突
  4. PostgreSQL学习手册(PL/pgSQL过程语言)【转】
  5. Linux中shell变量基础概念笔记
  6. IDEA 配置Maven项目
  7. 学生使用计算机中怎么关机,学会正确开关机初中计算机教案
  8. cesium js 路径_vue2.0项目集成Cesium的实现方法
  9. OAuth认证原理及HTTP下的密码安全传输
  10. 已设置的指纹解锁怎样解除_指纹锁哪个牌子更好用?
  11. Asp.net页面生命周期详解任我行(2)-WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用...
  12. 手机测试光纤网速的软件,如何测试光纤网速?如何测试网速多少兆
  13. 达梦数据库培训心得及DCA考试总结
  14. 原生小程序转Taro开发
  15. SpringBoot 使用 Redis Geo 实现查找附近的位置-附近的人功能
  16. 墨子管理启发的“天龙八部”
  17. Simulink永磁同步电机控制仿真系列五:使用滑模观测器的反电动势法位置估计
  18. 移动端扫描vin码(车架号)识别
  19. 老款诺基亚6 android 8,行动迅速!诺基亚为Nokia 6/7推送安卓8.0
  20. 志愿者打卡器服务器无响应,【转发】“志愿者打卡器”普及贴

热门文章

  1. Mac上以太坊Geth环境安装
  2. 配置文件编辑和历史文件编辑代码
  3. Asp.net WebPages框架运行原理浅析(转)
  4. final修饰符,finally,finalize区别
  5. 每天一个linux命令(28):diff 命令
  6. iTunes,一个不断侵蚀C盘的大虫
  7. 把文本框的值转换成Image
  8. GitLab 严重漏洞可导致攻击者窃取runner 注册令牌
  9. 专家从美国联邦政府机构网络上发现后门
  10. 谷歌修复已遭利用的 0day