㈠ Hive精華問答 | Hive的數據模型是怎樣的
Hive是一個數據倉庫基礎工具,它是建立在Hadoop之上的數據倉庫,在某種程度上可以把它看做用戶編程介面(API),本身也並不存儲和處理數據,依賴於HDFS存儲數據,依賴MR處理數據。它提供了一系列對數據進行提取、轉換、載入的工具。依賴於HDFS存儲數據,依賴MR處理數據。
1
Q:Hive是什麼?
A: Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,並提供類SQL查詢功能。本質是將HQL轉換為MapRece程序。
2
Q:Hive的設計目標是什麼?
A: 1、Hive的設計目標是使Hadoop上的數據操作與傳統SQL相結合,讓熟悉SQL編程開發人員能夠輕松向Hadoop平台遷移
2、Hive提供類似SQL的查詢語言HQL,HQL在底層被轉換為相應的MapRece操作
3、Hive在HDFS上構建數據倉庫來存儲結構化的數據,這些數據一般來源與HDFS上的原始數據,使用Hive可以對這些數據執行查詢、分析等操作。
3
Q:Hive的數據模型是怎樣的?
A: Hive資料庫
內部表
外部表
分區
桶
Hive的視圖
Hive在創建內部表時,會將數據移動到數據倉庫指向的路徑,若創建外部表,僅記錄數據所在的路徑,不對數據位置做任何改變,在刪除表的時候,內部表的元數據和數據會被一起刪除,外部表只會刪除元數據,不刪除數據。這樣來說,外部表要比內部表安全,數據組織液更加靈活,方便共享源數據。
4
Q:Hive都有哪些調用方式?
A : 1、Hive Shell
2、Thrift
3、JDBC
4、ODBC
5
Q:Hive的運行機制是什麼?
A: 1、將sql轉換成抽象語法樹
2、將抽象語法樹轉化成查詢塊
3、將查詢塊轉換成邏輯查詢計劃(操作符樹)
4、將邏輯計劃轉換成物理計劃(MRjobs)
福利
掃描添加我 微信 ,備注「 姓名+公司職位 」,加入【 雲計算學習交流群 】,和志同道合的朋友們共同打卡學習!