首先确认已经安装gcc以及确认系统的版本例如测试环境是Centos6.5
1.通过下面这个网站下载需要的python扩展模块
https://pypi.org/project/PyHive/
2.通过这个网站下载需要的rpm包
http://www.rpmfind.net/linux/rpm2html/search.php
3.安装依赖的rpm包
忽略依赖强制安装rpm包,如果警告或者报错安装不上
rpm -ivh cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64.rpm --force --nodeps
一般直接安装就好
rpm -ivh cyrus-sasl-2.1.23-15.el6_6.2.x86_64.rpm
4.解压python扩展模块包sasl-0.2.1.tar.gz
tar -zxvf sasl-0.2.1.tar.gz
等等四个模块
如下:
PyHive-0.6.1
PyHive-0.6.1.tar.gz
sasl-0.2.1
sasl-0.2.1.tar.gz
thrift-0.11.0
thrift-0.11.0.tar.gz
thrift_sasl-0.3.0
thrift_sasl-0.3.0.tar.gz
5.安装python扩展模块
例如进入sasl-0.2.1
安装
python setup.py install
没有异常,出现上图内容表示安装成功
6.写测试脚本test_conn_hive.py
#!/usr/bin/python # -*- coding: utf-8 -*- from traceback import print_exc from pyhive import hive conn = None cursor = None try: conn = hive.Connection(host='172.11.11.11',port=10000,database='yang',) cursor = conn.cursor() cursor.execute('show tables') for result in cursor.fetchall(): print(result) cursor.close() conn.close() except Exception, err: print '===================error msg print==========================' print_exc() print '------------------------------------------------------------' print err if cursor: cursor.close() if conn: conn.close()
7.启动脚本
先启动hiveserver2服务
(1)进入cdh-hive的bin目录/opt/cloudera/parcels/CDH-5.9.1-1.cdh5.9.1.p0.4/lib/hive/bin
(2)命令 ./hiveserver2启动服务
/opt/cloudera/parcels/CDH-5.9.1-1.cdh5.9.1.p0.4/lib/hive/bin
(3)启动脚本
python test_conn_hive.py