
目前,Thrift支持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和OCaml的代码生成
1. 安装thrift依赖库
yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel
下载thrift:http://mirror.bjtu.edu.cn/apache//thrift/0.8.0/thrift-0.8.0.tar.gz
安装thrift
tar -zxvf thrift-0.8.0.tar.gz
cd thrift-0.8.0
./configure --with-boost=/usr/local
make && make install
我的hive使用的是cloudera cdn3u3版本,python版本为2.7
在使用Python连接hive之前需要将hive中的文件拷贝到python的sys.path中
cp -r $HIVE_PATH/lib/py /usr/local/lib/python2.7/site-packages
#!/usr/bin/env pythonimport sysfrom hive_service import ThriftHivefrom hive_service.ttypes import HiveServerExceptionfrom thrift import Thriftfrom thrift.transport import TSocketfrom thrift.transport import TTransportfrom thrift.protocol import TBinaryProtocoldef hiveExe(sql): try: transport = TSocket.TSocket('127.0.0.1',10000) transport = TTransport.TBufferedTransport(transport) protocol = TBinaryProtocol.TBinaryProtocol(transport) clIEnt = ThriftHive.ClIEnt(protocol) transport.open() clIEnt.execute(sql) print "The return value is : " print clIEnt.fetchAll() print "............" transport.close() except Thrift.TException,tx: print '%s' % (tx.message)if __name__ == '__main__': hiveExe("select * from t_afan_test") 总结 以上是内存溢出为你收集整理的python利用thrift连接hive全部内容,希望文章能够帮你解决python利用thrift连接hive所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)