来一发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教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
来一发python使用thrift毗连hive
可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 熟读写基础知识,学得会不如学得牢。 掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。 Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。 学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。 以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。 其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。 了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
页:
[1]