Apache Hive是用于查詢和管理分布式存儲中大型數據集的數據倉庫軟件。
標簽:開發商: Apache
當前版本: v1.2.1
產品類型:軟件
產品功能:數據庫工具
平臺語言:
開源水平:不提供源碼
本產品的分類與介紹僅供參考,具體以商家網站介紹為準,如有疑問請來電 023-68661681 咨詢。
* 關于本產品的分類與介紹僅供參考,精準產品資料以官網介紹為準,如需購買請先行測試。
Hive 構建在基于靜態批處理的Hadoop 之上,Hadoop 通常都有較高的延遲并且在作業提交和調度的時候需要大量的開銷。Hive 不能夠在大規模數據集上實現低延遲快速的查詢,例如,Hive 在幾百MB 的數據集上執行查詢一般有分鐘級的時間延遲。因此,Hive 不適合那些需要低延遲的應用,例如,聯機事務處理(OLTP)。Hive 查詢操作過程嚴格遵守Hadoop MapReduce 的作業執行模型,Hive 將用戶的HiveQL 語句通過解釋器轉換為MapReduce 作業提交到Hadoop 集群上,Hadoop 監控作業執行過程,然后返回作業執行結果給用戶。Hive 并非為聯機事務處理而設計,Hive 并不提供實時的查詢和基于行級的數據更新操作。Hive 的最佳使用場合是大數據集的批處理作業,例如,網絡日志分析。
Hive 是一種底層封裝了Hadoop 的數據倉庫處理工具,使用類SQL 的HiveQL 語言實現數據查詢,所有Hive 的數據都存儲在Hadoop 兼容的文件系統(例如,Amazon S3、HDFS)中。Hive 在加載數據過程中不會對數據進行任何的修改,只是將數據移動到HDFS 中Hive 設定的目錄下,因此,Hive 不支持對數據的改寫和添加,所有的數據都是在加載的時候確定的。Hive 的設計特點如下:
支持索引,加快數據查詢。
不同的存儲類型,例如,純文本文件、HBase 中的文件。
將元數據保存在關系數據庫中,大大減少了在查詢過程中執行語義檢查的時間。
可以直接使用存儲在Hadoop 文件系統中的數據。
內置大量用戶函數UDF 來操作時間、字符串和其他的數據挖掘工具,支持用戶擴展UDF 函數來完成內置函數無法實現的操作。
類SQL 的查詢方式,將SQL 查詢轉換為MapReduce 的job 在Hadoop集群上執行。
主要分為以下幾個部分:
用戶接口主要有三個:CLI,Client 和 WUI。其中最常用的是 CLI,Cli 啟動的時候,會同時啟動一個 Hive 副本。Client 是 Hive 的客戶端,用戶連接至 Hive Server。在啟動 Client 模式的時候,需要指出 Hive Server 所在節點,并且在該節點啟動 Hive Server。 WUI 是通過瀏覽器訪問 Hive。
Hive 將元數據存儲在數據庫中,如 mysql、derby。Hive 中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等。
解釋器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,并在隨后由 MapReduce 調用執行。
Hive 的數據存儲在 HDFS 中,大部分的查詢由 MapReduce 完成(包含 * 的查詢,比如 select * from tbl 不會生成 MapReduce 任務)。
更新時間:2016-01-26 13:48:02.000 | 錄入時間:2016-01-25 10:39:05.000 | 責任編輯:陳俊吉