冷月葬花魂 发表于 2015-1-14 20:21:47

来一发python使用thrift毗连hive

如果您觉得本篇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

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教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!

海妖 发表于 2015-1-16 13:58:29

来一发python使用thrift毗连hive

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

只想知道 发表于 2015-1-25 16:39:01

熟读写基础知识,学得会不如学得牢。

飘灵儿 发表于 2015-2-3 12:22:28

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。

爱飞 发表于 2015-2-9 02:30:04

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

再见西城 发表于 2015-2-26 19:53:47

学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。

兰色精灵 发表于 2015-3-8 17:58:53

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。

莫相离 发表于 2015-3-16 17:35:42

其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。

蒙在股里 发表于 2015-3-23 03:41:10

了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
页: [1]
查看完整版本: 来一发python使用thrift毗连hive