python连接hive配置

注:Python端所在服务器为centos6.8

一,hive安装配置

参考博文:https://blog.csdn.net/u010916338/article/details/89764877

重要一点,hive是个客户端,不是集群,在hive所在节点必须执行如下命令:

hive --service hiveserver2

参考博文:https://blog.csdn.net/zhangzc12409/article/details/79224487

二,访问hive的客户端

注:客户端指的是装有anaconda的python环境的Linux机器,并非装有hive的机器

以下涉及所有包,

链接:https://pan.baidu.com/s/13qTcsUxXgwKFki9tPwODxA 
提取码:6xy5 

(1)yum install gcc-c++

断网情况下,参考博文:https://blog.csdn.net/u010916338/article/details/95586525

 (2)yum install  python-devel.x86_64

断网情况下,下载3个包,python-devel-2.6.6-66.el6_8.x86_64.rpm以及两个依赖包,python-2.6.6-66.el6_8.x86_64.rpm和python-libs-2.6.6-66.el6_8.x86_64.rpm

注:这个底层依赖Python2.6,有可能存在装不上的情况,除了一个一个装还有一个办法就是将上面三个包放到一个文件夹里,然后命令行切换到该目录,执行命令:rpm -Uvh *.rpm --nodeps --force   这条命令的好处就是,谁依赖谁不用管,谁先安装不用管,有的依赖没有跑到100%也不用管,自己就会安装成功。

(3)yum install  cyrus-sasl-devel.x86_64

断网情况下,下载包,cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64.rpm

执行命令:rpm -ivh cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64.rpm

(4)yum  install cyrus-sasl-md5 

断网下载包,cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64.rpm

执行命令:rpm -ivh cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64.rpm

(5)yum install cyrus-sasl-plain 

断网下载包,cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64.rpm

执行命令:rpm -ivh cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64.rpm

(6)yum install cyrus-sasl-lib

断网下载包,cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64.rpm

执行命令:rpm -ivh cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64.rpm

(7)yum install cyrus-sasl-gssapi

断网下载包,cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64.rpm

执行命令:rpm -ivh cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64.rpm

(8)pip install sasl

断网下载包,sasl-0.2.1.tar.gz

执行命令:rpm -ivh sasl-0.2.1.tar.gz

(9)pip install thrift

断网下载包,thrift-0.11.0.tar.gz

执行命令:tar -xvf thrift-0.11.0.tar.gz

进入解压后的文件夹,执行命令:python setup.py install

(10)pip install thrift-sasl

断网下载包,thrift_sasl-0.3.0.tar.gz

执行命令:tar -xvf thrift-0.11.0.tar.gz

进入解压后的文件夹,执行命令:python setup.py install

(11)pip install PyHive

 断网下载包,PyHive-0.6.1.tar.gz,future-0.17.1.tar.gz

执行命令:tar -xvf PyHive-0.6.1.tar.gz        tar -xvf future-0.17.1.tar.gz

进入解压后的文件夹,执行命令:python setup.py install

三,连接测试

注意连接的各项参数

#ip地址,即hive所在节点地址,注意hive是一个客户端,不是一个集群。
#port是hive所在节点执行hive --service hiveserver2后自然就会打开10000端口
#username,如果安装hive时没有设定,那么默认用户名就是hive
#database,即你要访问的已经在hive中创建的数据库,如果之前未创建,那么hive中自带有一个名叫default的数据库可以用来测试连通性。
#tablename,数据库中表名

from pyhive import hive
conn = hive.Connection(host='ip地址', port=10000, username='用户名', database='default')
cursor = conn.cursor()
cursor.execute('select * from tablename limit 10')
for result in cursor.fetchall():
    print( result)

 

你可能感兴趣的:(hive,python,pyhive)