python thrift rpc调用,thrift 长连接
大蟒利用节约连接蜂巢-东杰书屋-博客频道CSDN .网
大蟒利用节约连接储备
分类:
大蟒编程
hadoop hive hbase
2012-05-03 15:30
211人阅读
评论(0)
收藏
举报节约是一个跨语言服务部署框架,最初由脸谱网于2007年开发,后于2008年进入街头流氓孵化器(阿帕奇孵化器).类似于SOAP,COM和CORBA,节俭通过定义一个中间定义语言和节约代码生成工具,生成指定语言的代码。
目前,节俭支持C,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和软件名称的代码生成
1.安装节约依赖库
yum install automake libtool flex bison pkg config gcc-c boost-devel libevent-devel zlib-devel python-devel ruby-devel
下载节俭:http://镜子。北京交通大学。edu。cn/Apache//节俭/0 .8 .0/节俭-0.8.0.tar.gz
安装节约
水手
-zxvfthrift-0.8.0.tar.gz
激光唱片
节俭-0.8.0。/配置
- with-boost=/usr/local
制造
进行安装
我的储备使用的是cloudera cdn3u3版本,python版本为2.7
在使用计算机编程语言连接储备之前需要将储备中的文件拷贝到大蟒的sys.path中
CP-r $ HIVE _ PATH/lib/py/usr/local/lib/python 2.7/site-packages
[html]查看plaincopyprint?
#!/usr/bin/envpthonimportsysfromhive _ service importthrifthivefromhive _ service。ttypesimportiveserverexception fromthfimportthriftromhrity。transportimporttransportfromthrift。protocolimportbinaryprotocoldefhiveexe(SQL):try:transport=TSocket .TSocket(127.0.0.1 ,10000)transport=TTransport .TBufferedTransport(传输)协议=TBinaryProtocol .TBinaryProtocol(transport)client=thrift hive .客户端(协议)运输。打开()客户端。“执行(SQL)打印”返回值为:“打印客户端。fetchall()print ..transport.close()exceptThrift .TException,tx:打印 % s %(tx。message)if _ _ name _ _= _ _ main _ _ :hiveExe( select * from t _ afan _ test )#!/usr/bin/env python
导入系统
从hive_service导入节约蜂房
从hive_service.ttypes导入HiveServerException
从节俭进口节俭
从节俭。运输进口手提包
从节俭。运输进口运输
来自节俭协议导入协议
def hiveExe(sql):
尝试:
transport=TSocket .TSocket(127.0.0.1 ,10000)
transport=TTransport .TBufferedTransport(传输)
协议=TBinaryProtocol .运输协议
client=ThriftHive .客户端(协议)
transport.open()
客户端。执行(sql)
打印返回值是:
print client.fetchAll()
打印…………
transport.close()
除了节俭. tx异常,tx:
打印" % s"%(tx。消息)
if __name__==__main__ :
hiveExe( select * from t _ afan _ test )
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。