Python3 impyla 连接 hiveserver2
简介:
接到一个任务,需要从 hive 中读取数据,生成报表。
官方文档提供了一个使用 pyhs2 连接 hive 的例子,这本来很好的嘛。
结果去 Github:https://github.com/BradRuderman/pyhs2 瞅了一眼,很遗憾 pyhs2 项目已经不维护了。
不过,提供了两个很不错的替代项目:https://github.com/cloudera/impyla、https://github.com/dropbox/PyHive
终于绕到今天的主角了~
一、HiveServer2
shell > cd /usr/local/apache-hive-2.3.-bin shell > sh bin/hiveserver2 start > logs/beeline.log >& & # 这就启动了,停止的话好像必须 kill pid。
二、impyla
# 安装依赖
shell > yum -y install gcc gcc-c++ cyrus-sasl-devel cyrus-sasl-plain # 创建虚拟环境
shell > virtualenv --no-site-packages -p python3 venv # 启用虚拟环境
shelll > source venv/bin/activate (venv) shell > python -V
Python 3.6. # 安装 impyla 及所需依赖包
(venv) shell > pip install ipython six bit_array thriftpy thrift_sasl==0.2. sasl impyla (venv) shell > ipython In []: from impala.dbapi import connect In []: conn = connect(host="192.168.10.45", port=, database="logsdb", auth_mechanism="PLAIN") In []: cur = conn.cursor() In []: cur.execute("select count(*) from log_bftv_api") In []: cur.fetchone()
Out[]: (,) In []: conn.close() # 程序查出了 hive table log_bftv_api 中总共有 条数据。 # 其中,连接配置中 auth_mechanism 的值由 hive-site.xml 配置文件中 hive.server2.authentication 配置项指定。 # PLAIN 代表不启用认证,也就是 hive.server2.authentication 的默认值:NONE。
Python3 impyla 连接 hiveserver2的更多相关文章
- Python3实现连接SQLite数据库的方法
本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: ? 1 2 3 4 5 6 7 8 ...
- 由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考
背景 我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求).调度任务(常规分析需求),两者均通过我们的 ...
- python3.5连接oracle数据及数据查询
今天心血来潮研究下用python连接oracle数据库,看了一下demo,本以为很简单,从操作到成功还是有点坎坷,这里分享给大家,希望为后面学习的童鞋铺路. 一.首先按照cx_Oracle 二:在py ...
- 用Java代码通过JDBC连接Hiveserver2
1.在终端启动hiveserver2#hiveserver2 2.使用beeline连接hive另外打开一个终端,输入如下命令(xavierdb必须是已经存在的数据库)#beeline -u jdbc ...
- 【原创】大叔经验分享(38)beeline连接hiveserver2报错impersonate
beeline连接hiveserver2报错 Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost: ...
- python3.4连接mysql5.7数据库增删改查
#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ pyt ...
- 通过JDBC连接HiveServer2
如果通过JDBC连接HiveServer2时提示:User: hive is not allowed to impersonate hive,需要在core-site.xml中新增如下配置: hado ...
- python3.4连接mysql数据库的方法
python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mys ...
- python3.6 连接mysql数据库问题
最近有个项目欲安装MySQL-python/1.2.5一直失败. 环境: win7 python3.6.2 报错信息如下: Creating library build\temp.win32-3.6\ ...
随机推荐
- ActiveMQ生产者和消费者优化策略
一.生产者优化策略 默认情况下,ActiveMQ服务端认为生产者端发送的是PERSISTENT Message.所以如果要发送NON_PERSISTENT Message,那么生产者端就要明确指定. ...
- python之 数据类型判定与类型转换
一. 判断数据类型 0.type(x)type()可以接收任何东西作为参数――并返回它的数据类型.整型.字符串.列表.字典.元组.函数.类.模块,甚至类型对象都可以作为参数被 type 函数接受. & ...
- Vue 介绍
1. 条件 效果图. 如果seen为false,文字将消失 2. 循环 script里定义数据 效果 3. 事件处理 效果如下图, hello world被逆转了
- caffe跑densenet的错误:Message type "caffe.PoolingParameter" has no field named "ceil_mode".【转自CSDN】
最近看了densenet这篇论文,论文作者给了基于caffe的源码,自己在电脑上跑了下,但是出现了Message type “caffe.PoolingParameter” has no field ...
- 织梦开启PHP 标签
第一步: dedecms出现DedeCMS Error:Tag disabled:php原因解决 --------------------------------------------------- ...
- Apache JMeter配置、安装
一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后来又扩充了其它的功能.j ...
- .Net2.0部署在IIS8.5上的问题
请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理. 到"应用程序池"里找网站对应的应用程序池(右击网站-> 高级设置),双击程序池, 看程序池是否也网站的net ...
- eclipse 常用jar包总结
BeanUtils: DbUtils: FileUpload: IO: Lang: Logging: cglib: mysql-connector: Pool:[datasource] DBCP:[d ...
- CentOS修改TimeZone
查看: date -R +0800 修改: sudo rm -rf /etc/localtime sudo cp /usr/share/zoneinfo/America/Los_Angeles / ...
- css sprite实例
css sprite直译过来就是CSS精灵.通常被解释为“CSS图像拼合”或“CSS贴图定位”.本文章向码农们介绍css sprite使用方法和基本使用实例,需要的码农可以参考一下. 一.什么是css ...