[Hadoop大數據]——Hive初識


Hive出現的背景

Hadoop提供了大數據的通用解決方案,比如存儲提供了Hdfs,計算提供了MapReduce思想。但是想要寫出MapReduce算法還是比較繁瑣的,對於開發者來說,需要了解底層的hadoop api。如果不是開發者想要使用mapreduce就會很困難....

另一方面,大部分的開發者都有使用SQL的經驗。SQL成為開發者必備的技能...

那么可以不可以使用SQL來完成MapReduce的過程呢?—— 答案就是,Hive

Hive能夠解決的問題

Hive可以幫助開發者從現有的數據基礎架構轉移到Hadoop上,而這個基礎架構是基於傳統關系型數據庫和SQL的。Hive提供了Hive查詢語言,即HQL,它可以使用SQL方言查詢存儲在hadoop中的數據。

執行原理

Hive本身不會生成java的mapreduce程序,而是通過XML文件 驅動執行內置的、原生的Mapper和Reducer。

Hive的缺點

  • 1 不支持記錄級別的更新、插入或者刪除
  • 2 查詢延遲比較嚴重
  • 3 不支持事務

如果想要基於SQL還想具有上面的特性,可以直接使用hadoop提供的nosql數據庫——HBase

適合的場景

Hive適合做 數據倉庫 應用程序,可以維護海量數據,對數據進行挖掘,形成意見和報表。

其他

同類型的工具就是Pig

暫時的疑問!!

1 HQL是如何變成MapReduce算法的?

2 平時HQL都是怎么使用的?——最佳實踐

Hive中的數據類型與文件格式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM