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