Hive概念筆記

一、Hive簡介

1.1 什么是Hive

Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供類SQL查詢功能。

本質是將SQL轉化為MapReduce程序。

主要用來做離線數據分析,比直接用MapReduce開發效率更高。

1.2? 為什么用Hive

直接使用Hadoop MapReduce的學習成本太高。MapReduce實現復雜查詢邏輯開發難度太大。使用Hive操作接口類SQL語法,提供快速開發能力,避免了寫MapReduce,減少開發人員學習成本,功能擴展很方便。

二、Hive架構

1.1? Hive組件

用戶接口:? 包括CLI、JDBC/ODBC、WebGUI。其中CLI為shell命令行;JDBC/ODBC是Hive的Java實現,與傳統數據庫JDBC類似;WebGUI是通過瀏覽器訪問Hive。

元數據存儲:通常存儲在關系數據庫如MySQL/Derby中。hive將元數據存儲在數據庫中。hive中的元數據包括表的名字,表的列和分區及屬性,表的屬性(是否為外部表),表的數據所在目錄等。

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

1.2 Hive架構

2.3 Hive與Hadoop的關系

Hive利用HDFS存儲數據,利用MapReduce查詢分析數據。是一款基于Hadoop的數據倉庫工具。

三、Hive與傳統數據庫對比

Hive是數據倉庫工具,是面向分析的,不同于傳統數據庫。Hive用于海量數據的離線數據分析。hive具有sql數據庫的外表,但是應用場景不同。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Zookeeper用于集群主備切換。 YARN讓集群具備更好的擴展性。 Spark沒有存儲能力。 Spark的Ma...
    Yobhel閱讀 7,328評論 0 34
  • 本文是對Hive組件的學習的一個初步總結,包括如下章節的內容: Hive是什么 Hive安裝 快速上手 Hive元...
    我是老薛閱讀 1,941評論 1 23
  • hive簡介 解釋一:Hive是一個數據倉庫基礎工具在Hadoop中用來處理結構化數據。它架構在Hadoop之上,...
    卡卡xx閱讀 6,366評論 0 4
  • Hive概述 Hive 是基于 Hadoop 的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供...
    董二彎閱讀 9,180評論 0 10
  • 創作我的創作, 早飯沒吃, 午飯紅燒肉飯, 晚飯沒吃, 沒做運動, 幾乎沒有動, 洗個頭, 然后一直躺著。 看手機...
    我是咳咳閱讀 462評論 0 1