1. 程式人生 > >hive入門(一)、什麽是hive

hive入門(一)、什麽是hive

作業 strong 包括 麻煩 倉庫 離線 享元 tor 減少

1、Hive 基本概念

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

Hive是構建在Hadoop 之上的數據倉庫;

使用HQL作為查詢接口;
使用HDFS存儲;
使用MapReduce計算;

簡單來說,Hive就是在Hadoop上架了一層SQL接口,可以將SQL翻譯成MapReduce去Hadoop上執行,這樣就使得數據開發和分析人員很方便的使用SQL來完成海量數據的統計和分析,而不必使用編程語言開發MapReduce那麽麻煩。

2、hive優缺點

優點: 入門簡單,避免了去寫MapReduce,減少開發人員的學習成本;

統一的元數據管理,可與impala/spark等共享元數據;

靈活性和擴展性比較好:支持UDF,自定義存儲格式等;

適合離線數據處理

缺點: Hive的效率比較低,由於hive是基於hadoop,Hadoop本身是一個批處理,高延遲的計算框架

其計算是通過MapReduce來作業,具有高延遲

Hive適合對非實時的、離線的、對響應及時性要求不高的海量數據批量計算,即查詢,統計分析

3、Hive 架構

技術分享圖片

技術分享圖片

用戶接口: Client
CLI(hive shell)、JDBC/ODBC(java訪問hive),WEBUI(瀏覽器訪問hive)
元數據: Metastore


元數據包括:表名、表所屬的數據庫(默認是default)、表的擁有者、列/
分區字段、表的類型(是否是外部表)、表的數據所在目錄等;
默認存儲在自帶的derby數據庫中,推薦使用采用MySQL存儲Metastore;
Hadoop
使用HDFS進行存儲,使用MapReduce進行計算;

技術分享圖片

hive入門(一)、什麽是hive