服務(wù)近2000家企業(yè),依托一系列實(shí)踐中打磨過的技術(shù)和產(chǎn)品,根據(jù)企業(yè)的具體業(yè)務(wù)問題和需求,針對(duì)性的提供各行業(yè)大數(shù)據(jù)解決方案。
hive的使用場(chǎng)景及其原理
來源:未知 時(shí)間:2018-21-25 瀏覽次數(shù):323次
HIVE的使用場(chǎng)景及其原理,在大數(shù)據(jù)處理中HIVE占有很重要的地位,呢么hive到底適合在什么場(chǎng)景使用個(gè),以及如何使用呢?Hive是建立在Hadoop (HDFS/MR)上的用于管理和查詢結(jié)果化/非結(jié)構(gòu)化的數(shù)據(jù)倉庫;一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop 中的大規(guī)模數(shù)據(jù)的機(jī)制;Hive 定義了簡單的類SQL 查詢語言,稱為HQL,它允許熟悉SQL 的用戶查詢數(shù)據(jù);允許用Java開發(fā)自定義的函數(shù)UDF來處理內(nèi)置無法完成的復(fù)雜的分析工作;Hive沒有專門的數(shù)據(jù)格式(分隔符等可以自己靈活的設(shè)定);
一、使用場(chǎng)景
Hive不適用于在線事務(wù)處理。 它最適用于傳統(tǒng)的數(shù)據(jù)倉庫任務(wù),Hive的執(zhí)行延遲比較高,因?yàn)閔ive常用于數(shù)據(jù)分析的,對(duì)實(shí)時(shí)性要求不高;Hive優(yōu)勢(shì)在于處理大數(shù)據(jù),對(duì)于處理小數(shù)據(jù)沒有優(yōu)勢(shì),因?yàn)閔ive的執(zhí)行延遲比較高。

二,hive安裝及使用
1 Execute Query
1 Execute Query
Hive接口,如命令行或Web UI發(fā)送查詢驅(qū)動(dòng)程序(任何數(shù)據(jù)庫驅(qū)動(dòng)程序,如JDBC,ODBC等)來執(zhí)行。
2 Get Plan
在驅(qū)動(dòng)程序幫助下查詢編譯器,分析查詢檢查語法和查詢計(jì)劃或查詢的要求。
3 Get Metadata
編譯器發(fā)送元數(shù)據(jù)請(qǐng)求到Metastore(任何數(shù)據(jù)庫)。
4 Send Metadata
Metastore發(fā)送元數(shù)據(jù),以編譯器的響應(yīng)。
5 Send Plan
編譯器檢查要求,并重新發(fā)送計(jì)劃給驅(qū)動(dòng)程序。到此為止,查詢解析和編譯完成。
6 Execute Plan
驅(qū)動(dòng)程序發(fā)送的執(zhí)行計(jì)劃到執(zhí)行引擎。
7 Execute Job
在內(nèi)部,執(zhí)行作業(yè)的過程是一個(gè)MapReduce工作。執(zhí)行引擎發(fā)送作業(yè)給JobTracker,在名稱節(jié)點(diǎn)并把它分配作業(yè)到TaskTracker,這是在數(shù)據(jù)節(jié)點(diǎn)。在這里,查詢執(zhí)行MapReduce工作。
7.1 Metadata Ops
與此同時(shí),在執(zhí)行時(shí),執(zhí)行引擎可以通過Metastore執(zhí)行元數(shù)據(jù)操作。
8 Fetch Result
執(zhí)行引擎接收來自數(shù)據(jù)節(jié)點(diǎn)的結(jié)果。
9 Send Results
執(zhí)行引擎發(fā)送這些結(jié)果值給驅(qū)動(dòng)程序。
10 Send Results
驅(qū)動(dòng)程序?qū)⒔Y(jié)果發(fā)送給Hive接口。Hadoop中實(shí)際應(yīng)用,通過上面流程解釋,要想在hadoop中使用hive,至少需要安裝hive和Metastore(任何數(shù)據(jù)庫)本文安裝mysql 。
三、mysql安裝
在hive中mysql作為hive元數(shù)據(jù)存儲(chǔ)引擎,下載linux環(huán)境下的mysql安裝包,并安裝,hive的數(shù)據(jù)存儲(chǔ)分為兩部分,一部分是基礎(chǔ)數(shù)據(jù)存儲(chǔ)在hadoop分布式文件系統(tǒng)hdfs中,另一部分是元數(shù)據(jù)及hive表,數(shù)據(jù)庫結(jié)構(gòu)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中,如mysql等
在hive中mysql作為hive元數(shù)據(jù)存儲(chǔ)引擎,下載linux環(huán)境下的mysql安裝包,并安裝,hive的數(shù)據(jù)存儲(chǔ)分為兩部分,一部分是基礎(chǔ)數(shù)據(jù)存儲(chǔ)在hadoop分布式文件系統(tǒng)hdfs中,另一部分是元數(shù)據(jù)及hive表,數(shù)據(jù)庫結(jié)構(gòu)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中,如mysql等