hive組件提供哪些服務
hive元件可提供的服務:1、把SQL語句轉換成mapreduce程式碼;2、可以對資料進行存儲,儲存使用 HDFS;3、可以對資料進行計算,計算使用MapReduce。 hive是基於Hadoop的資料倉儲工具,用來進行資料擷取、轉換、載入;hive資料倉儲工具能將結構化的資料檔案對應為資料庫表,提供SQL查詢功能,能將SQL語句轉變成MapReduce任務來執行。
本教學操作環境:windows7系統、Dell G3電腦。
在搭建資料倉儲時,Hive元件在其中發揮了非常關鍵的作用,我們知道Hive是一個基於Hadoop的重要資料倉儲工具,但具體如何應用則需要我們進一步進行探索。
Hive是什麼
hive是基於Hadoop的資料倉儲工具,用來進行資料擷取、轉換、加載,這是一種可以儲存、查詢和分析儲存在Hadoop中的大規模資料的機制。 hive資料倉儲工具能將結構化的資料檔案對應為資料庫表,並提供SQL查詢功能,能將SQL語句轉換成MapReduce任務來執行。 Hive的優點是學習成本低,可以透過類似SQL語句實現快速MapReduce統計,讓MapReduce變得更加簡單,而不必開發專門的MapReduce應用程式。 hive十分適合用來做什麼資料倉儲
Hive用來做什麼
1.把SQL語句轉換成mapreduce程式碼
2.可以對資料進行儲存儲存使用HDFS
3.可以對資料進行運算計算使用MapReduce
Hive的優勢是什麼
a.Hive的優點
(1)簡單容易上手:提供了類別SQL查詢語言HQL
(2)可擴充:為超大資料集設計了運算/擴展能力(MR作為計算引擎,HDFS作為儲存系統)
在一般情況下不需要重啟服務Hive可以自由的擴展集群的規模。
(3)提供統一的元資料管理
(4)延展性:Hive支援使用者自訂函數,使用者可以根據自己的需求來實作自己的函數
(5)容錯:良好的容錯性,節點出現問題SQL仍可完成執行
b.Hive的缺點
(1)hive的HQL表達能力有限
1)迭代式演算法無法表達,例如pagerank
2)資料探勘方面,例如kmeans
(2)hive的效率比較低
1)hive自動產生的mapreduce作業,通常情況下不夠智能化
2)hive調優比較困難,粒度較粗
- ##3)hive可控性差
1)Hive 處理的資料儲存在HDFS
##2) Hive 分析資料底層的預設實作是MapReduce##3) 執行程式運行在Yarn 上
總結:相當於hadoop的一個客戶端的作用。
為什麼要用Hive(1)Hive與傳統資料庫的比較
Hive用於海量資料的離線資料分析。 Hive有sql資料庫的外表,但應用場景完全不同,Hive只適合用來做大量資料統計分析。
Hive解決了什麼問題Hive解決了大數據的查詢功能,讓不會寫MR的人也能使用MR,它的本質就是將HQL轉換為MR. 它的底層走的是MR,寫MR效率低,而且痛苦,Hive的出現就為JAVAEE的兄弟帶來了捷徑和福音.
Hive 架構原理
#1.使用者介面: Client
元資料包括:表名、表格所屬的資料庫(預設為default)、表格的擁有者、列/分割區欄位、表格
的類型(是否是外部表)、表格的資料所在目錄等;
元資料: Metastore
元資料包含:表名、表格所屬的資料庫(預設為default)、資料表的擁有者、資料列/分割區欄位、表格
的類型(是否為外部表)、表格的資料所在目錄等;
預設儲存在自帶的derby 資料庫中,建議使用MySQL 儲存Metastore。
3. Hadoop
使用 HDFS 進行存儲,使用 MapReduce 進行運算。
4.驅動器: Driver
(1)解析器(SQL Parser):將SQL 字串轉換成抽象語法樹AST,這一步驟一般都用
第三方工具庫完成,例如antlr;對AST 進行語法分析,例如表格是否存在、欄位是否存
在、 SQL 語意是否有誤。
(2)編譯器(Physical Plan):將 AST 編譯成邏輯執行計畫。
(3)優化器(Query Optimizer):對邏輯執行計劃進行最佳化。
(4)執行器(Execution):把邏輯執行計畫轉換成可以運作的實體計畫。對於 Hive 來
說,就是 MR/Spark。
Hive 是建立在 Hadoop 之上的,而所有 Hive 的資料都是儲存在 HDFS 中的。而資料庫則
可以將資料保存在區塊設備或本機檔案系統中。
由於 Hive 是針對資料倉儲應用設計的,而資料倉儲的內容是讀多寫少的。因此, Hive
中不建議資料的改寫,所有的資料都是在載入的時候確定好的。而資料庫中的數據通常是
需要經常進行修改的,因此可以使用INSERT INTO … VALUES 新增數據,使用UPDATE … SET 修改數據。
Hive 與資料庫比較
由於 Hive 採用了類似 SQL 的查詢語言 HQL(Hive Query Language),因此很容易將 Hive 理解為資料庫。其實從結構來看, Hive 和資料庫除了擁有類似的查詢語言,再無類似之處。本節將從多個面向來闡述 Hive 和資料庫的差異。資料庫可以用在 Online 的應用中,但是 Hive 是為資料倉儲而設計的,清楚這一點,有助於從應用程式角度理解 Hive 的特性。
1、查詢語言
由於 SQL 被廣泛的應用在資料倉儲中,因此,專門針對 Hive 的特性設計了類別 SQL 的查詢語言 HQL。熟悉 SQL 開發的開發者可以很方便的使用 Hive 來開發。
2、資料儲存位置Hive 是建立在 Hadoop 之上的,所有 Hive 的資料都是儲存在 HDFS 中的。而資料庫則可以將資料保存在區塊設備或本機檔案系統中。
3 、資料更新:由於 Hive 是針對資料倉儲應用設計的,而資料倉儲的內容是讀多寫少的。因此, Hive中不建議資料的改寫,所有的資料都是在載入的時候確定好的。而資料庫中的資料通常是需 要 經 常 進 行 修 改 的 , 因 此 可 以 使 用 INSERT INTO … VALUES 添 加 數 據 , 使用 UPDATE … SET 修改資料。
4 、索引:Hive 在載入資料的過程中不會對資料進行任何處理,甚至不會對資料進行掃描,因此也沒有對資料中的某些 Key 建立索引。 Hive 要存取資料中符合條件的特定值時,需要暴力掃描整個數據,因此存取延遲較高。由於 MapReduce 的引入, Hive 可以並行存取數據,因此即使沒有索引,對於大數據量的訪問, Hive 仍然可以體現出優勢。在資料庫中,通常會針對一個或幾個列建立索引,因此對於少量的特定條件的資料的訪問,資料庫可以有很高的效率,較低的延遲。由於資料的存取延遲較高,決定了 Hive 不適合線上資料查詢。
5、 執行:Hive 中大多數查詢的執行是透過 Hadoop 提供的 MapReduce 來實現的。而資料庫通常有自己的執行引擎。
6、執行延遲:Hive 在查詢資料的時候,由於沒有索引,需要掃描整個表,因此延遲較高。另一個導致 Hive 執行延遲高的因素是 MapReduce 框架。由於 MapReduce 本身有較高的延遲,因此在利用 MapReduce 執行 Hive 查詢時,也會有較高的延遲。相對的,資料庫的執行延遲較低。當然,這個低是有條件的,也就是資料規模較小,當資料規模大到超過資料庫的處理能力的時候, Hive 的平行計算顯然能體現出優勢。
7 、可擴展性:由於Hive 是建立在Hadoop 之上的,因此Hive 的可擴展性是和Hadoop 的可擴展性是一致的(世界上最大的Hadoop 集群在Yahoo!, 2009年的規模在4000 台節點左右)。而資料庫由於 ACID 語意的嚴格限制,擴展行非常有限。目前最先進的平行資料庫 Oracle 在理論上的擴充能力也只有 100 台左右。
8、 資料規模:由於 Hive 建立在叢集上並且可以利用 MapReduce 進行平行計算,因此可以支援很大規模的資料;對應的,資料庫可以支援的資料規模較小。
更多程式相關知識,請造訪:程式設計教學! !
以上是hive組件提供哪些服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

近年來,資料倉儲成為了企業資料管理中不可或缺的一部分。直接使用資料庫進行資料分析可以滿足簡單的查詢需求,但當我們需要進行大規模資料分析時,單一資料庫已經無法滿足需求,這時我們需要使用資料倉儲來處理大量資料。而Hive則是資料倉儲領域中最受歡迎的開源元件之一,它可以將Hadoop分散式運算引擎和SQL查詢整合在一起,並支援大量資料的平行處理。同時,在Go語言中使

PHP是一種廣泛使用的伺服器端程式語言,它的使用範圍幾乎涵蓋了所有產業。在本篇文章中,我們將探討PHP對於大數據處理的特殊作用。在特定環境下,PHP可以與ApacheHive協作,從而實現即時數據處理和分析。先來介紹一下Hive。 Hive是一個基於Hadoop的資料倉儲解決方案。它可以將結構化資料映射成SQL查詢,並以MapReduce任務的方式執行查詢。

隨著資料處理越來越重要,大數據分析也變得越來越普遍。然而,許多公司可能不想花費大量資金在商業分析平台上。開源解決方案為這些公司提供了一個可行的選擇。在這篇文章中,我們將討論如何使用PHP實作開源Hive大數據分析平台。 Hive是一個基於Hadoop的資料倉儲系統,可以透過SQL查詢並管理Hadoop上的大規模資料集。它使用類似SQL的HiveQL語言來查詢

一位微軟官員證實了有關GoogleChrome、ChromiumEdge、Discord和其他幾個應用程式被微軟內建防毒軟體「WindowsDefender」標記為「 Behavior:Win32/Hive.ZY」的廣泛報導。這家科技巨頭在聲明中證實,它正在研究一個修復程序,該修復程序將在接下來的幾個小時內向所有人推出。那麼「Behavior:Win32/Hive.ZY」到底是什麼?根據微軟安全入口網站上發布的文件,任何標記為「Behavior:Win32/Hive.ZY」的文件都是帶有

在CentOS7上安裝和設定Hive時,可以按照以下步驟進行操作:確保已安裝Java:首先,請確保在CentOS7上已經安裝了Java。可以使用下列指令檢查Java是否已安裝:java-version如果沒有安裝Java,請依照你的需求安裝適當的Java版本。下載Hive:造訪ApacheHive的官方網站(),下載最新的穩定版本的Hive。解壓縮Hive壓縮包:使用以下命令解壓縮Hive壓縮包:tarxvfzhive-x.x.x.tar.gz這將解壓縮Hive到目前目錄下。配置環境變數:打開終端,

儘管保持軟體更新和僅從受信任的來源下載檔案是標準的網路安全實踐,但鑑於最近惡意軟體攻擊的增加,很明顯在這方面需要更多的教育。為此,Varonis 取證團隊就使用 Hive 勒索軟體的攻擊者如何在其最新系列攻擊中針對 Microsoft Exchange Server 提供了一些指導。對於那些不知道的人,Hive 遵循勒索軟體即服務模式。儘管微軟在 2021 年針對已知漏洞對 E

許多Windows11和10用戶看到WindowsDefender的警告通知表示偵測到威脅「行為:Win32/Hive.ZY」而感到困擾。據報道,當用戶嘗試開啟一些常用應用程式(如GoogleChrome或ChromiumEdge、Whatsapp、Discord和Spotify)時,會引發此WindowsDefender警告或警報。即使您在PC上阻止了此威脅,它也會在您下次打開此受影響的應用程式時彈出並顯示一條訊息MicrosoftDefenderAntivi

hive元件可提供的服務:1、把SQL語句轉換成mapreduce程式碼;2、可以儲存資料,儲存使用 HDFS;3、可以將資料計算,計算使用MapReduce。 hive是基於Hadoop的資料倉儲工具,用來進行資料擷取、轉換、載入;hive資料倉儲工具能將結構化的資料檔案對應為資料庫表,提供SQL查詢功能,能將SQL語句轉變成MapReduce任務來執行。