{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

Hive有哪些特點?

Leo_chenLeo_chen 回答0 收藏1
問題描述:hive的優缺點有哪些,hive使用場景是什么?
收藏問題

1條回答

xioqua

xioqua

回答于2022-06-28 15:23

您好,我是數據僧(頭條,公眾號,簡書),,一名數據相關從業者。下面講講我對您這個問題的理解。


Hive是為了解決什么問題,Hive產生的背景,我們以這個為引子,展開回答。

1,MapReduce編程的不變性,如果要處理一些數據處理的任務,會有一定的門檻,并且操作起來不方便。

2,Hdfs上的文件缺少Schema。例如:缺少 字段名,數據類型等,不方面數據進行有效管理。

3,用于解決海量結構化數據的統計問題

4,如果使用MapReduce等計算框架,學習成本比較高

5,在項目周期比較短的情況下,如果使用mapReduce或者其它的開發框架進行開發,無法滿足項目對時間的要求。


我們從具體應用場景下看看Hive處于hadoop生態系統的什么位置:

如圖:Hive以Hdfs為基本的文件存儲,以MapReduce為執行引擎。所以Hive天然就具備了Hdfs,MapReduce的特性。

我們和傳統數據庫進行對比看看Hive有哪些優勢和不足,當然這種不足是特定場景下的,也是Hive不擅長的領域。

hive的編寫語法和傳統的sql類似,核心的是hive有一套不同與sql的語法規則,最終被解釋為mapReduce任務。hive只適合在海量數據下進行批量數據統計分析。

我們在來看看hive和mapReduce之間的關系,如圖:

在來看看hive的內部結構示意圖

Driver組件:

SQL Parser:編譯器,將HQL轉換成抽象語法樹。

Query Optimizer:查詢優化器

Physical Plan,SerDes,Udfs:執行器

解釋器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在HDFS 中,并在隨后有 MapReduce 調用執行。

Metastore組件:Hive將元數據存儲在數據庫中。Hive 中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等


Hive處理命令的流程示意圖:

SQL Parser將SQL語句轉換成抽象語法樹--->生成邏輯執行計劃---->查詢優化----> 物理執行計劃(SerDes序列化與反序列化,UDFs,執行引擎)


上面主要是從整體上介紹hive,已經hive相關的組件,最后總結下hive有哪些特點:

1,hive延遲高,適合高吞吐量,批量,海量數據處理。

2,語法和SQL相似,學習成本低,避免去寫復雜的MapReduce,縮短開發周期。

3,Hive支持自由的擴展集群的規模,一般不需要重啟服務。

4,Hive支持自定義函數,用戶可以根據自己的需求去定義函數。

5,良好的容錯性,節點出現問題,SQL仍然可以成功執行。

。。

整體上來說是繼承了HDFS和MapReduce的特點。


數據僧,祝愿每個在數據道路上的人越走越好。你們的關注 是我巨大的動力。歡迎大家在評論區留言,大家一起討論。

評論0 贊同0
  •  加載中...

相關問題

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<