使用python来操作hive(通过 pyhs2 和 HiveServer2)
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)相关推荐
- python操作hive数据库代码_windows下怎么用python连接hive数据库
展开全部 由于版本的不同,Python 连接 Hive 的方式也就不一样. 在网上搜索关键字 python hive 的时候可以找到一些解决方案.大部分是这3231313335323631343130 ...
- python数据导入hive_Python操作HIve,将数据插入到Mysql
Python操作HIve,将数据插入到Mysql import sys from hive_service import ThriftHive from hive_service.ttypes imp ...
- python操作hive数据库代码_python导出hive数据表的schema实例代码
本文研究的主要问题是python语言导出hive数据表的schema,分享了实现代码,具体如下. 为了避免运营提出无穷无尽的查询需求,我们决定将有查询价值的数据从mysql导入hive中,让他们使用H ...
- python操作hive和hive_sql语句
Hive是一个数据仓库基础的应用工具,在Hadoop中用来处理结构化数据,通过类SQL语言对数据进行操作.Hive将sql语句通过解析器转换成MapReduce作业提交到Hadoop集群上,Hadoo ...
- 【阿尼亚喜欢BigData】“红亚杯”数据分析进阶—使用Python操作Hive专题赛——满分解析③
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"数据分析进阶-使用Python操作Hive专题赛--满分解析系列 ...
- 【阿尼亚喜欢BigData】“红亚杯”数据分析进阶—使用Python操作Hive专题赛——满分解析②
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"数据分析进阶-使用Python操作Hive专题赛--满分解析系列 ...
- python读取oracle数据到hvie parquet_关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中...
说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spar ...
- Spark采坑系列(三)Spark操作Hive的坑
2019独角兽企业重金招聘Python工程师标准>>> 跟着教学试着用Idea编程,实现Spark查询Hive中的表.结果上来就凉了. 捣鼓好久都不行,在网上查有说将hive-sit ...
- python处理excel表格实例-通过实例学习Python Excel操作
这篇文章主要介绍了通过实例学习Python Excel操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python 读取Excel # -* ...
最新文章
- 汇编OFFSET,SEG,LEA
- BZOJ2329: [HNOI2011]括号修复(Splay)
- C++ 解决enum redeclaration的冲突
- PostgreSQL学习手册(PL/pgSQL过程语言)【转】
- Linux中shell变量基础概念笔记
- IDEA 配置Maven项目
- 学生使用计算机中怎么关机,学会正确开关机初中计算机教案
- cesium js 路径_vue2.0项目集成Cesium的实现方法
- OAuth认证原理及HTTP下的密码安全传输
- 已设置的指纹解锁怎样解除_指纹锁哪个牌子更好用?
- Asp.net页面生命周期详解任我行(2)-WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用...
- 手机测试光纤网速的软件,如何测试光纤网速?如何测试网速多少兆
- 达梦数据库培训心得及DCA考试总结
- 原生小程序转Taro开发
- SpringBoot 使用 Redis Geo 实现查找附近的位置-附近的人功能
- 墨子管理启发的“天龙八部”
- Simulink永磁同步电机控制仿真系列五:使用滑模观测器的反电动势法位置估计
- 移动端扫描vin码(车架号)识别
- 老款诺基亚6 android 8,行动迅速!诺基亚为Nokia 6/7推送安卓8.0
- 志愿者打卡器服务器无响应,【转发】“志愿者打卡器”普及贴