|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!Thrift是一个跨言语办事安排框架,最后由Facebook于2007年开辟,后于2008年进进Apache孵化器(ApacheIncubator)。相似于SOAP,COM和CORBA,Thrift经由过程界说一其中间界说言语和Thrift代码天生工具,天生指定言语的代码。
今朝,Thrift撑持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和OCaml的代码天生
1.装置thrift依附库
yuminstallautomakelibtoolflexbisonpkgconfiggcc-c++boost-devellibevent-develzlib-develpython-develruby-devel
下载thrift:http://mirror.bjtu.edu.cn/apache//thrift/0.8.0/thrift-0.8.0.tar.gz
装置thrift
tar-zxvfthrift-0.8.0.tar.gz
cdthrift-0.8.0
./configure--with-boost=/usr/local
make&&makeinstall
我的hive利用的是clouderacdn3u3版本,python版本为2.7
在利用Python毗连hive之前必要将hive中的文件拷贝到python的sys.path中
cp-r$HIVE_PATH/lib/py/usr/local/lib/python2.7/site-packages
[html]viewplaincopyprint?
- #!/usr/bin/envpython
- importsys
- fromhive_serviceimportThriftHive
- fromhive_service.ttypesimportHiveServerException
- fromthriftimportThrift
- fromthrift.transportimportTSocket
- fromthrift.transportimportTTransport
- fromthrift.protocolimportTBinaryProtocol
- defhiveExe(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"Thereturnvalueis:"
- printclient.fetchAll()
- print"............"
- transport.close()
- exceptThrift.TException,tx:
- print%s%(tx.message)
- if__name__==__main__:
- hiveExe("select*fromt_afan_test")
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|