sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev
2.下载\解压\编译\安装 Thrift
wget https://pypi.python.org/packages/source/t/thrift/thrift-0.9.1.tar.gz tar -zxvf thrift-0.9.1.tar.gz cd thrift-0.9.1 ./configure sudo make && sudo make install
cp -r $HIVE_HOME/lib/py/* /usr/local/lib/python2.7/dist-packages/
hive --service hiveserver -p 100028 -v
#!/usr/bin/env python #*-*coding:UTF-8 *-* #Author:JohnWang #Date:2014-01-15 #Version:1.0 import sys from hive_service import ThriftHive from hive_service.ttypes import HiveServerException from thrift import Thrift from thrift.transport import TSocket,TTransport from thrift.transport.TTransport import TTransportException from thrift.protocol import TBinaryProtocol class HiveClient(object): def __init__(self,conInfo): self.__dict__.update(conInfo) def connect(self): transport = None client = None try: transport = TSocket.TSocket(self.ip,self.port) transport = TTransport.TBufferedTransport(transport) protocol = TBinaryProtocol.TBinaryProtocol(transport) client = ThriftHive.Client(protocol) transport.open() except TTransportException,error: print error return False self.client = client self.tranport = transport if self.db: return self.execute(‘use %s‘ %self.db) return True def execute(self,sql): try: self.client.execute(sql) except HiveServerException,error: print error return False return True def getOne(self): pass def getAll(self): pass def close(self): if self.transport: self.transport.close() return True else: return False if __name__ == ‘__main__‘: conInfo = {‘ip‘:‘127.0.0.1‘,‘port‘:10028,‘user‘:‘‘,‘passwd‘:‘‘,‘db‘:‘test_hive‘} client = HiveClient(conInfo) if client.connect(): print ‘connect hive succes‘
原文:http://blog.csdn.net/palainapplecattle/article/details/18460993