hive入門(一) 什么是hive


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進行計算;

 


免責聲明!

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



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