亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

thrift在hive中的應用

系統 4450 0

thrift在hive中的應用 ? ORATEA

thrift是一種可伸縮的跨語言服務的發展軟件框架。

它結合了功能強大的軟件堆棧的代碼生成引擎,以建設服務,工作效率和無縫地與C + +,C#,Java,Python和PHP和Ruby結合。

thrift是facebook開發的,我們現在把它作為開源軟件使用。thrift允許你定義一個簡單的定義文件中的數據類型和服務接口。

以作為輸入文件,編譯器生成代碼用來方便地生成RPC客戶端和服務器通信的無縫跨編程語言。

對于thrift的詳細介紹見: http://thrift.apache.org/

thrift在hive中有好幾處應用,目的都是為了實現跨語言的服務。

最近詳細的看了在metadata模塊中的thrift應用。

metadata中thrift定義文件為\hive-0.6.0\src\metastore\if\hive_metastore.thrift,

該文件詳細定義了hive元數據的各個結構,以及相應的方法。

還是拿database來舉例,對于database的結構定義如:

struct Database {

? 1: string name,

? 2: string description,

? 3: string locationUri,

}

對database的方法定義在service ThriftHiveMetastore extends fb303.FacebookService中,主要有以下幾個:

? void create_database(1:Database database) throws(1:AlreadyExistsException o1, 2:InvalidObjectException o2, 3:MetaException o3)

? Database get_database(1:string name) throws(1:NoSuchObjectException o1, 2:MetaException o2)

? void drop_database(1:string name, 2:bool deleteData) throws(1:NoSuchObjectException o1, 2:InvalidOperationException o2, 3:MetaException o3)

? list<string> get_databases(1:string pattern) throws(1:MetaException o1)

? list<string> get_all_databases() throws(1:MetaException o1)

?

定義好了metadata的thrift文件后,就可以通過thrift產生相應的腳本文件,

在build.xml中對于該編譯命令為:

? <target name=”thriftif”>

??? <echo>Executing thrift (which needs to be in your path) to build java metastore APIs…. </echo>

??? <exec executable=”thrift”? failonerror=”true” dir=”.”>

????? <arg line=”–gen java:beans –gen cpp –gen php –gen py -I ${basedir}/../service/include/ -o ${src.dir} if/hive_metastore.thrift ” />

??? </exec>

? </target>

?

當然我們也可以手工進行:

thrift –gen java:beans –gen cpp –gen php –gen py -I ${basedir}/../service/include/ -o ${src.dir} if/hive_metastore.thrift

執行后就會產生

drwxr-xr-x 2 hjl hjl?? 4096 May 27 08:25 gen-cpp

drwxrwxr-x 3 hjl hjl?? 4096 May 27 08:27 gen-javabean

drwxr-xr-x 3 hjl hjl?? 4096 May 27 08:25 gen-php

drwxr-xr-x 3 hjl hjl?? 4096 May 27 08:25 gen-py

下面幾個腳本,對應著c++,java,php和python。

hive-0.6.0中使用的thrift版本為r790732,如果使用相同的thrift版本會產生和官方hive版本相同的文件,

而采用不同版本的thrfit的話,那么產生的各種文件會有些差距。

thrift在hive中的應用


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲第一se情网站 | 99免费观看视频 | 欧美一级在线看 | 一道本免费视频 | 又黑又粗又硬欧美视频在线观看 | 热久久久久 | 免费a视频在线观看 | 亚洲日韩欧美一区二区在线 | 99视频在线精品免费观看18 | 成人免费国产欧美日韩你懂的 | 91最新免费观看在线 | 美女视频免费在线观看 | 亚洲国产精品一区二区第四页 | 国产精品乱| 日韩视频亚洲 | 欧洲免费在线视频 | 国产欧美亚洲精品第3页在线 | 日韩亚洲欧美性感视频影片免费看 | 寡妇野外啪啪一区二区 | 国产精品欧美一区二区 | 日日碰夜夜 | 五月婷婷天 | 国产欧美日韩精品一区二 | 爱爱小视频免费体验区在线观看 | 12至16末成年毛片 | 纯欧美一级毛片_免费 | 日本涩涩网站 | 久草在线视频免费播放 | 五月天婷婷激情网 | 成人毛片免费视频播放 | 国产精品资源在线 | 国产成人青草视频 | 久久爱99re | 一级毛片aa高清免费观看 | 亚洲成人免费观看 | 91精品国产综合久久青草 | 青青青青爽视频在线播放 | 99视频免费在线观看 | 亚洲毛片在线观看 | 久久久久国产精品免费免费不卡 | 亚洲高清资源在线观看 |