在大數(shù)據(jù)的發(fā)展當(dāng)中,大數(shù)據(jù)技術(shù)生態(tài)的組件,也在不斷地拓展開來,而其中的Hive組件,作為Hadoop的數(shù)據(jù)倉庫工具,可以實現(xiàn)對Hadoop集群當(dāng)中的大規(guī)模數(shù)據(jù)進行相應(yīng)的數(shù)據(jù)處理。今天我們的大數(shù)據(jù)入門分享,就主要來講講,Hive應(yīng)用場景。
關(guān)于Hive,首先需要明確的一點就是,Hive并非數(shù)據(jù)庫,Hive所提供的數(shù)據(jù)存儲、查詢和分析功能,本質(zhì)上來說,并非傳統(tǒng)數(shù)據(jù)庫所提供的存儲、查詢、分析功能。
Hive數(shù)據(jù)倉庫工具將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行。通過類SQL語句實現(xiàn)快速MapReduce統(tǒng)計,使MapReduce編程變得更加簡單易行。
Hive應(yīng)用場景
總的來說,Hive是十分適合數(shù)據(jù)倉庫的統(tǒng)計分析和Windows注冊表文件。
Hive在Hadoop中扮演數(shù)據(jù)倉庫的角色。Hive添加數(shù)據(jù)的結(jié)構(gòu)在HDFS(Hive superimposes structure on data in HDFS),并允許使用類似于SQL語法進行數(shù)據(jù)查詢。
Hive更適合于數(shù)據(jù)倉庫的任務(wù),主要用于靜態(tài)的結(jié)構(gòu)以及需要經(jīng)常分析的工作。Hive與SQL相似促使其成為Hadoop與其他BI工具結(jié)合的理想交集。
Hive使用
Hive在Hadoop之上,使用Hive的前提是先要安裝Hadoop。
Hive要分析的數(shù)據(jù)存儲在HDFS,Hive為數(shù)據(jù)創(chuàng)建的表結(jié)構(gòu)(schema),存儲在RDMS(relevant database manage system關(guān)系型數(shù)據(jù)庫管理系統(tǒng),比如mysql)。
Hive構(gòu)建在基于靜態(tài)批處理的Hadoop之上,Hadoop通常都有較高的延遲并且在作業(yè)提交和調(diào)度的時候需要大量的開銷。因此,Hive并不能夠在大規(guī)模數(shù)據(jù)集上實現(xiàn)低延遲快速的查詢,例如,Hive在幾百MB的數(shù)據(jù)集上執(zhí)行查詢一般有分鐘級的時間延遲。
Hive查詢操作過程嚴(yán)格遵守Hadoop MapReduce的作業(yè)執(zhí)行模型,Hive將用戶的HiveQL語句通過解釋器轉(zhuǎn)換為MapReduce作業(yè)提交到Hadoop集群上,Hadoop監(jiān)控作業(yè)執(zhí)行過程,然后返回作業(yè)執(zhí)行結(jié)果給用戶。Hive的最佳使用場合是大數(shù)據(jù)集的批處理作業(yè),例如,網(wǎng)絡(luò)日志分析。
Hive優(yōu)缺點
優(yōu)點:
操作接口采用類SQL語法,提供快速開發(fā)的能力(簡單、容易上手)。
Hive的執(zhí)行延遲比較高,因此Hive常用于數(shù)據(jù)分析,對實時性要求不高的場合。
Hive優(yōu)勢在于處理大數(shù)據(jù),對于處理小數(shù)據(jù)沒有優(yōu)勢,因為Hive的執(zhí)行延遲比較高。
Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實現(xiàn)自己的函數(shù)。
缺點:
1.Hive的HQL表達(dá)能力有限
(1)迭代式算法無法表達(dá)遞歸算法
(2)數(shù)據(jù)挖掘方面不擅長(數(shù)據(jù)挖掘和算法機器學(xué)習(xí))
2.Hive的效率比較低
(1)Hive自動生成的MapReduce作業(yè),通常情況下不夠智能化
(2)Hive調(diào)優(yōu)比較困難,粒度較粗(快)
關(guān)于大數(shù)據(jù)培訓(xùn),Hive應(yīng)用場景,以上就為大家做了大致的介紹了。在大數(shù)據(jù)應(yīng)用場景下,Hive更多是作為Hadoop的一個數(shù)據(jù)倉庫工具,并不直接存儲數(shù)據(jù),但是卻不可或缺。