hive提供oracle接口嘛,Hive是个什么东东
Hive是基于Hadoop平臺(tái)的數(shù)倉工具,具有海量數(shù)據(jù)存儲(chǔ)、水平可擴(kuò)展、離線批量處理的優(yōu)點(diǎn),解決了傳統(tǒng)關(guān)系型數(shù)倉不能支持海量數(shù)據(jù)存儲(chǔ)、水平可擴(kuò)展性差等問題,但是由于Hive數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理是依賴于HDFS和MapReduce,因此在Hive進(jìn)行數(shù)據(jù)離線批量處理時(shí),需將查詢語言先轉(zhuǎn)換成MR任務(wù),由MR批量處理返回結(jié)果,所以Hive沒法滿足數(shù)據(jù)實(shí)時(shí)查詢分析的需求。
Hive是由FaceBook研發(fā)并開源,當(dāng)時(shí)FaceBook使用Oracle作為數(shù)倉,由于數(shù)據(jù)量越來越大,Oracle數(shù)倉性能越來越差,沒法實(shí)現(xiàn)海量數(shù)據(jù)的離線批量分析,因此基于Hadoop研發(fā)Hive,并開源給Apacha。
由于Hive不能實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)查詢交互,Hbase可提供實(shí)時(shí)在線查詢能力,因此Hive和Hbase形成了良性互補(bǔ)。Hbase因?yàn)槠浜A繑?shù)據(jù)存儲(chǔ)、水平擴(kuò)展、批量數(shù)據(jù)處理等優(yōu)點(diǎn),也得到了廣泛應(yīng)用。
Pig與HIVE工具類似,都可以用類sql語言對(duì)數(shù)據(jù)進(jìn)行處理。但是他們應(yīng)用場(chǎng)景有區(qū)別,Pig用于數(shù)據(jù)倉庫數(shù)據(jù)的ETL,HIVE用于數(shù)倉數(shù)據(jù)分析。
Hive的系統(tǒng)架構(gòu)圖如下圖所示:
圖 hive系統(tǒng)架構(gòu)
從架構(gòu)圖當(dāng)中,可看出Hive并沒有完成數(shù)據(jù)的存儲(chǔ)和處理,它是由HDFS完成數(shù)據(jù)存儲(chǔ),MR完成數(shù)據(jù)處理,其只是提供了用戶查詢語言的能力。Hive支持類sql語言,這種SQL稱為Hivesql。用戶可用Hivesql語言查詢,其驅(qū)動(dòng)可將Hivesql語言轉(zhuǎn)換成MR任務(wù),完成數(shù)據(jù)處理。
【Hive的訪問接口】
CLI:是hive提供的命令行工具
HWI:是Hive的web訪問接口
JDBC/ODBC:是兩種的標(biāo)準(zhǔn)的應(yīng)用程序編程訪問接口
Thrift Server:提供異構(gòu)語言,進(jìn)行遠(yuǎn)程RPC調(diào)用Hive的能力。
因此Hiv具備豐富的訪問接口能力,幾乎能滿足各種開發(fā)應(yīng)用場(chǎng)景需求。
【Driver】
是HIVE比較核心的驅(qū)動(dòng)模塊,包含編譯器、優(yōu)化器、執(zhí)行器,職責(zé)為把用戶輸入的Hivesql轉(zhuǎn)換成MR數(shù)據(jù)處理任務(wù)。
【Metastore】
是HIVE的元數(shù)據(jù)存儲(chǔ)模塊,數(shù)據(jù)的訪問和查找,必須要先訪問元數(shù)據(jù)。Hive中的元數(shù)據(jù)一般使用單獨(dú)的關(guān)系型數(shù)據(jù)庫存儲(chǔ),常用的是Mysql,為了確保高可用,Mysql元數(shù)據(jù)庫還需主備部署。
架構(gòu)圖上面Karmasphere、Hue、Qubole也是訪問HIVE的工具,其中Qubole可遠(yuǎn)程訪問HIVE,相當(dāng)于HIVE作為一種公有云服務(wù),用戶可通過互聯(lián)網(wǎng)訪問Hive服務(wù)。
Hive在使用過程中出現(xiàn)了一些不穩(wěn)定問題,由此發(fā)展出了Hive HA機(jī)制,其HA架構(gòu)示意圖如下圖所示:
圖 hive HA架構(gòu)
Hive HA機(jī)制核心在于HAProxy,為了保證高可用,其后可對(duì)接多個(gè)HIVE實(shí)例,多個(gè)HIVE實(shí)例形成資源池。當(dāng)用戶訪問HIVE時(shí),先訪問HAProxy,HAProxy會(huì)依次對(duì)HIVE實(shí)例進(jìn)行邏輯可用性測(cè)試,如果發(fā)現(xiàn)某個(gè)實(shí)例不能使用,則將其列入黑名單。HAProxy維護(hù)了黑名單列表,并會(huì)對(duì)黑名單名單執(zhí)行操作,例如重啟,如果發(fā)現(xiàn)重啟后,實(shí)例可正常訪問,就將實(shí)例從黑名單中移出。
總結(jié)
以上是生活随笔為你收集整理的hive提供oracle接口嘛,Hive是个什么东东的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言调用oracle函数返回值吗,C语
- 下一篇: oracle access manage