大數據相關基礎知識-Hive

參考文檔

1.http://blog.csdn.net/zhongqi2513/article/details/69388239
2.https://www.zhihu.com/question/21677041

英文原意及發音

英[ha?v]

n. 蜂巢; 蜂箱; 蜂群; 喧鬧地區;
vt. 使(蜂)入蜂箱; 貯(蜜)于蜂箱中; 儲備,積累;
vi. (蜂) 進入蜂箱; 聚居;
[例句]In the morning the house was a hive of activity
早上,房子里一片繁忙景象。
[其他] 第三人稱單數:hives 復數:hives 現在分詞:hiving 過去式:hived 過去分詞:hived

基礎介紹

  • Hive是建立在Hadoop之上的數據倉庫,由Facebook開發,在某種程度上可以看成是用戶編程接口,本身并不存儲和處理數據,依賴于HDFS存儲數據,依賴MR處理數據。有類SQL語言HiveQL,不完全支持SQL標準,如,不支持更新操作、索引和事務,其子查詢和連接操作也存在很多限制。
  • Hive把HQL語句轉換成MR任務后,采用批處理的方式對海量數據進行處理。數據倉庫存儲的是靜態數據,很適合采用MR進行批處理。Hive還提供了一系列對數據進行提取、轉換、加載的工具,可以存儲、查詢和分析存儲在HDFS上的數據。
  • Hive中的表是純邏輯表,就只是表的定義等,即表的元數據。Hive本身不存儲數據,它完全依賴HDFS和MapReduce。這樣就可以將結構化的數據文件映射為為一張數據庫表,并提供完整的SQL查詢功能,并將SQL語句最終轉換為MapReduce任務進行運行。

Hive與Hadoop生態系統中其他組件的關系

  • Hive依賴于HDFS存儲數據,依賴MR處理數據;
  • Pig可作為Hive的替代工具,是一種數據流語言和運行環境,適合用于在Hadoop平臺上查詢半結構化數據集,用于與ETL過程的一部分,即將外部數據裝載到Hadoop集群中,轉換為用戶需要的數據格式;
  • HBase是一個面向列的、分布式可伸縮的數據庫,可提供數據的實時訪問功能,而Hive只能處理靜態數據,主要是BI報表數據,Hive的初衷是為減少復雜MR應用程序的編寫工作,HBase則是為了實現對數據的實時訪問。


    image.png

Hive與傳統數據庫的對比

image.png

Hbase和Hive區別

Hbase和Hive在大數據架構中處在不同位置,Hbase主要解決實時數據查詢問題,Hive主要解決數據處理和計算問題,一般是配合使用。

區別

Hbase: Hadoop database 的簡稱,也就是基于Hadoop數據庫,是一種NoSQL數據庫,主要適用于海量明細數據(十億、百億)的隨機實時查詢,如日志明細、交易清單、軌跡行為等。
Hive:Hive是Hadoop數據倉庫,嚴格來說,不是數據庫,主要是讓開發人員能夠通過SQL來計算和處理HDFS上的結構化數據,適用于離線的批量數據計算。通過元數據來描述Hdfs上的結構化文本數據,通俗點來說,就是定義一張表來描述HDFS上的結構化文本,包括各列數據名稱,數據類型是什么等,方便我們處理數據,當前很多SQL ON Hadoop的計算引擎均用的是hive的元數據,如Spark SQL、Impala等;
基于第一點,通過SQL來處理和計算HDFS的數據,Hive會將SQL翻譯為Mapreduce來處理數據;
二、關系在大數據架構中,Hive和HBase是協作關系,數據流一般如下圖:
通過ETL工具將數據源抽取到HDFS存儲;通過Hive清洗、處理和計算原始數據;
HIve清洗處理后的結果,如果是面向海量數據隨機查詢場景的可存入Hbase數據應用從HBase查詢數據;

image.png

比較

  1. Hive是基于MapReduce來處理數據,而MapReduce處理數據是基于行的模式;HBase處理數據是基于列的而不是基于行的模式,適合海量數據的隨機訪問。
  2. HBase的表是疏松的存儲的,因此用戶可以給行定義各種不同的列;而Hive表是稠密型,即定義多少列,每一行有存儲固定列數的數據。
  3. Hive使用Hadoop來分析處理數據,而Hadoop系統是批處理系統,因此不能保證處理的低遲延問題;而HBase是近實時系統,支持實時查詢。
  4. Hive不提供row-level的更新,它適用于大量append-only數據集(如日志)的批任務處理。而基于HBase的查詢,支持和row-level的更新。
  5. Hive提供完整的SQL實現,通常被用來做一些基于歷史數據的挖掘、分析。而HBase不適用與有join,多級索引,表關系復雜的應用場景。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容