欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

hive組件能提供什么服務(wù)

本篇內(nèi)容介紹了“hive組件能提供什么服務(wù)”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站主營羅城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),羅城h5重慶小程序開發(fā)搭建,羅城網(wǎng)站營銷推廣歡迎羅城等地區(qū)企業(yè)咨詢

hive組件可提供的服務(wù):1、把SQL語句轉(zhuǎn)化成mapreduce代碼;2、可以對數(shù)據(jù)進(jìn)行存儲(chǔ),存儲(chǔ)使用 HDFS;3、可以對數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算使用MapReduce。hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,用來進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載;hive數(shù)據(jù)倉庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行。

在搭建數(shù)據(jù)倉庫時(shí),Hive組件在其中發(fā)揮了非常關(guān)鍵的作用,我們知道Hive是一個(gè)基于Hadoop的重要數(shù)據(jù)倉庫工具,但具體如何應(yīng)用則需要我們進(jìn)一步進(jìn)行探索。


Hive是什么

hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,用來進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載,這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù)的機(jī)制。hive數(shù)據(jù)倉庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行。Hive的優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類似SQL語句實(shí)現(xiàn)快速M(fèi)apReduce統(tǒng)計(jì),使MapReduce變得更加簡單,而不必開發(fā)專門的MapReduce應(yīng)用程序。hive十分適合對數(shù)據(jù)倉庫進(jìn)行統(tǒng)計(jì)分析

Hive用來做什么

1.把SQL語句轉(zhuǎn)化成mapreduce代碼
2.可以對數(shù)據(jù)進(jìn)行存儲(chǔ) 存儲(chǔ)使用 HDFS
3.可以對數(shù)據(jù)進(jìn)行計(jì)算 計(jì)算使用 MapReduce

Hive的優(yōu)勢是什么

a.Hive的優(yōu)點(diǎn)

(1)簡單容易上手:提供了類SQL查詢語言HQL

(2)可擴(kuò)展:為超大數(shù)據(jù)集設(shè)計(jì)了計(jì)算/擴(kuò)展能力(MR作為計(jì)算引擎,HDFS作為存儲(chǔ)系統(tǒng))

一般情況下不需要重啟服務(wù)Hive可以自由的擴(kuò)展集群的規(guī)模。

(3)提供統(tǒng)一的元數(shù)據(jù)管理

(4)延展性:Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實(shí)現(xiàn)自己的函數(shù)

(5)容錯(cuò):良好的容錯(cuò)性,節(jié)點(diǎn)出現(xiàn)問題SQL仍可完成執(zhí)行

b.Hive的缺點(diǎn)

(1)hive的HQL表達(dá)能力有限

  • 1)迭代式算法無法表達(dá),比如pagerank

  • 2)數(shù)據(jù)挖掘方面,比如kmeans

(2)hive的效率比較低

  • 1)hive自動(dòng)生成的mapreduce作業(yè),通常情況下不夠智能化

  • 2)hive調(diào)優(yōu)比較困難,粒度較粗

  • 3)hive可控性差

(3)Hive不支持事物。主要用作OLAP(聯(lián)機(jī)分析處理)

hive組件能提供什么服務(wù)

1) Hive 處理的數(shù)據(jù)存儲(chǔ)在 HDFS

2) Hive 分析數(shù)據(jù)底層的默認(rèn)實(shí)現(xiàn)是 MapReduce

3) 執(zhí)行程序運(yùn)行在 Yarn 上

總結(jié):相當(dāng)于是hadoop的一個(gè)客戶端的作用。

為什么用Hive

(1)Hive與傳統(tǒng)數(shù)據(jù)庫的比較

hive組件能提供什么服務(wù)

Hive用于海量數(shù)據(jù)的離線數(shù)據(jù)分析。Hive具有sql數(shù)據(jù)庫的外表,但應(yīng)用場景完全不同,Hive只適合用來做批量數(shù)據(jù)統(tǒng)計(jì)分析。

(2)Hive的優(yōu)勢

Hive利用HDFS存儲(chǔ)數(shù)據(jù),利用MapReduce查詢分析數(shù)據(jù)。因?yàn)橹苯邮褂肏adoop MapReduce處理數(shù)據(jù),會(huì)面臨人員學(xué)習(xí)成本太高的問題,而且MapReduce實(shí)現(xiàn)復(fù)雜查詢邏輯開發(fā)難度太大。而使用Hive,操作接口采用類SQL語法,提供快速開發(fā)的能力的同時(shí)還避免了去寫MapReduce,從而減少開發(fā)人員的學(xué)習(xí)成本,功能擴(kuò)展更加方便。

Hive解決了什么問題

Hive解決了大數(shù)據(jù)的查詢功能,讓不會(huì)寫MR的人也能使用MR,它的本質(zhì)就是將HQL轉(zhuǎn)換為MR. 它的底層走的是MR,寫MR效率低,而且痛苦,Hive的出現(xiàn)就為JAVAEE的兄弟帶來了捷徑和福音.

Hive 架構(gòu)原理

hive組件能提供什么服務(wù)

1. 用戶接口: Client

CLI(hive shell)、 JDBC/ODBC(java 訪問 hive)、 WEBUI(瀏覽器訪問 hive)

2. 元數(shù)據(jù): Metastore

元數(shù)據(jù)包括:表名、表所屬的數(shù)據(jù)庫(默認(rèn)是 default)、表的擁有者、列/分區(qū)字段、表

的類型(是否是外部表)、表的數(shù)據(jù)所在目錄等;

元數(shù)據(jù): Metastore

元數(shù)據(jù)包括:表名、表所屬的數(shù)據(jù)庫(默認(rèn)是 default)、表的擁有者、列/分區(qū)字段、表

的類型(是否是外部表)、表的數(shù)據(jù)所在目錄等;

默認(rèn)存儲(chǔ)在自帶的 derby 數(shù)據(jù)庫中,推薦使用 MySQL 存儲(chǔ) Metastore。

3. Hadoop

使用 HDFS 進(jìn)行存儲(chǔ),使用 MapReduce 進(jìn)行計(jì)算。

4. 驅(qū)動(dòng)器: Driver

(1)解析器(SQL Parser):將 SQL 字符串轉(zhuǎn)換成抽象語法樹 AST,這一步一般都用

第三方工具庫完成,比如 antlr;對 AST 進(jìn)行語法分析,比如表是否存在、字段是否存

在、 SQL 語義是否有誤。

(2)編譯器(Physical Plan):將 AST 編譯生成邏輯執(zhí)行計(jì)劃。

(3)優(yōu)化器(Query Optimizer):對邏輯執(zhí)行計(jì)劃進(jìn)行優(yōu)化。

(4)執(zhí)行器(Execution):把邏輯執(zhí)行計(jì)劃轉(zhuǎn)換成可以運(yùn)行的物理計(jì)劃。對于 Hive 來

說,就是 MR/Spark。

hive組件能提供什么服務(wù)

Hive 是建立在 Hadoop 之上的,所有 Hive 的數(shù)據(jù)都是存儲(chǔ)在 HDFS 中的。而數(shù)據(jù)庫則

可以將數(shù)據(jù)保存在塊設(shè)備或者本地文件系統(tǒng)中。

由于 Hive 是針對數(shù)據(jù)倉庫應(yīng)用設(shè)計(jì)的,而數(shù)據(jù)倉庫的內(nèi)容是讀多寫少的。 因此, Hive

中不建議對數(shù)據(jù)的改寫,所有的數(shù)據(jù)都是在加載的時(shí)候確定好的。而數(shù)據(jù)庫中的數(shù)據(jù)通常是

需要經(jīng)常進(jìn)行修改的,因此可以使用INSERT INTO … VALUES 添加數(shù)據(jù),使用UPDATE … SET 修改數(shù)據(jù)。

Hive 和數(shù)據(jù)庫比較

由于 Hive 采用了類似 SQL 的查詢語言 HQL(Hive Query Language),因此很容易將 Hive 理解為數(shù)據(jù)庫。其實(shí)從結(jié)構(gòu)上來看, Hive 和數(shù)據(jù)庫除了擁有類似的查詢語言,再無類似之處。本節(jié)將從多個(gè)方面來闡述 Hive 和數(shù)據(jù)庫的差異。數(shù)據(jù)庫可以用在 Online 的應(yīng)用中,但是 Hive 是為數(shù)據(jù)倉庫而設(shè)計(jì)的,清楚這一點(diǎn),有助于從應(yīng)用角度理解 Hive 的特性。

1、查詢語言
由于 SQL 被廣泛的應(yīng)用在數(shù)據(jù)倉庫中,因此,專門針對 Hive 的特性設(shè)計(jì)了類 SQL 的查詢語言 HQL。熟悉 SQL 開發(fā)的開發(fā)者可以很方便的使用 Hive 進(jìn)行開發(fā)。

2、數(shù)據(jù)存儲(chǔ)位置Hive 是建立在 Hadoop 之上的,所有 Hive 的數(shù)據(jù)都是存儲(chǔ)在 HDFS 中的。而數(shù)據(jù)庫則可以將數(shù)據(jù)保存在塊設(shè)備或者本地文件系統(tǒng)中。

3 、數(shù)據(jù)更新:由于 Hive 是針對數(shù)據(jù)倉庫應(yīng)用設(shè)計(jì)的,而數(shù)據(jù)倉庫的內(nèi)容是讀多寫少的。 因此, Hive中不建議對數(shù)據(jù)的改寫,所有的數(shù)據(jù)都是在加載的時(shí)候確定好的。 而數(shù)據(jù)庫中的數(shù)據(jù)通常是需 要 經(jīng) 常 進(jìn) 行 修 改 的 , 因 此 可 以 使 用 INSERT INTO … VALUES 添 加 數(shù) 據(jù) , 使用 UPDATE … SET 修改數(shù)據(jù)。

4 、索引:Hive 在加載數(shù)據(jù)的過程中不會(huì)對數(shù)據(jù)進(jìn)行任何處理,甚至不會(huì)對數(shù)據(jù)進(jìn)行掃描,因此也沒有對數(shù)據(jù)中的某些 Key 建立索引。 Hive 要訪問數(shù)據(jù)中滿足條件的特定值時(shí),需要暴力掃描整個(gè)數(shù)據(jù),因此訪問延遲較高。由于 MapReduce 的引入, Hive 可以并行訪問數(shù)據(jù),因此即使沒有索引,對于大數(shù)據(jù)量的訪問, Hive 仍然可以體現(xiàn)出優(yōu)勢。數(shù)據(jù)庫中,通常會(huì)針對一個(gè)或者幾個(gè)列建立索引,因此對于少量的特定條件的數(shù)據(jù)的訪問,數(shù)據(jù)庫可以有很高的效率,較低的延遲。由于數(shù)據(jù)的訪問延遲較高,決定了 Hive 不適合在線數(shù)據(jù)查詢。

5、 執(zhí)行:Hive 中大多數(shù)查詢的執(zhí)行是通過 Hadoop 提供的 MapReduce 來實(shí)現(xiàn)的。而數(shù)據(jù)庫通常有自己的執(zhí)行引擎。

6、執(zhí)行延遲:Hive 在查詢數(shù)據(jù)的時(shí)候,由于沒有索引,需要掃描整個(gè)表,因此延遲較高。另外一個(gè)導(dǎo)致 Hive 執(zhí)行延遲高的因素是 MapReduce 框架。由于 MapReduce 本身具有較高的延遲,因此在利用 MapReduce 執(zhí)行 Hive 查詢時(shí),也會(huì)有較高的延遲。相對的,數(shù)據(jù)庫的執(zhí)行延遲較低。當(dāng)然,這個(gè)低是有條件的,即數(shù)據(jù)規(guī)模較小,當(dāng)數(shù)據(jù)規(guī)模大到超過數(shù)據(jù)庫的處理能力的時(shí)候, Hive 的并行計(jì)算顯然能體現(xiàn)出優(yōu)勢。

7 、可擴(kuò)展性:由于 Hive 是建立在 Hadoop 之上的,因此 Hive 的可擴(kuò)展性是和 Hadoop 的可擴(kuò)展性是一致的(世界上最大的 Hadoop 集群在 Yahoo!, 2009 年的規(guī)模在 4000 臺(tái)節(jié)點(diǎn)左右)。而數(shù)據(jù)庫由于 ACID 語義的嚴(yán)格限制,擴(kuò)展行非常有限。目前最先進(jìn)的并行數(shù)據(jù)庫 Oracle 在理論上的擴(kuò)展能力也只有 100 臺(tái)左右。

8、 數(shù)據(jù)規(guī)模:由于 Hive 建立在集群上并可以利用 MapReduce 進(jìn)行并行計(jì)算,因此可以支持很大規(guī)模的數(shù)據(jù);對應(yīng)的,數(shù)據(jù)庫可以支持的數(shù)據(jù)規(guī)模較小。

“hive組件能提供什么服務(wù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

分享文章:hive組件能提供什么服務(wù)
網(wǎng)頁路徑:http://www.chinadenli.net/article20/pidijo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT搜索引擎優(yōu)化面包屑導(dǎo)航網(wǎng)站策劃網(wǎng)站排名關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化