搜尋
首頁常見問題hive組件提供哪些服務
hive組件提供哪些服務Nov 18, 2022 am 11:57 AM
hive

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

hive組件提供哪些服務

本教學操作環境: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可控性差

(3)Hive不支援事物。主要用作OLAP(線上分析處理) ​​

hive組件提供哪些服務

1)Hive 處理的資料儲存在HDFS

##2) Hive 分析資料底層的預設實作是MapReduce

##3) 執行程式運行在Yarn 上

總結:相當於hadoop的一個客戶端的作用。

為什麼要用Hive(1)Hive與傳統資料庫的比較

Hive用於海量資料的離線資料分析。 Hive有sql資料庫的外表,但應用場景完全不同,Hive只適合用來做大量資料統計分析。 hive組件提供哪些服務

(2)Hive的優勢

Hive利用HDFS儲存數據,利用MapReduce查詢分析數據。因為直接使用Hadoop MapReduce處理數據,會面臨人員學習成本太高的問題,而且MapReduce實現複雜查詢邏輯開發難度太大。而使用Hive,操作介面採用類SQL語法,提供快速開發的能力的同時也避免了去寫MapReduce,從而減少開發人員的學習成本,功能擴展更加方便。

Hive解決了什麼問題Hive解決了大數據的查詢功能,讓不會寫MR的人也能使用MR,它的本質就是將HQL轉換為MR. 它的底層走的是MR,寫MR效率低,而且痛苦,Hive的出現就為JAVAEE的兄弟帶來了捷徑和福音.

Hive 架構原理

#1.使用者介面: Clienthive組件提供哪些服務

CLI(hive shell)、 JDBC/ODBC(java 存取 hive)、 WEBUI(瀏覽器存取 hive)

2.元資料: Metastore

元資料包括:表名、表格所屬的資料庫(預設為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組件提供哪些服務

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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
在Go语言中使用Hive实现高效的数据仓库在Go语言中使用Hive实现高效的数据仓库Jun 15, 2023 pm 08:52 PM

近年来,数据仓库成为了企业数据管理中不可或缺的一部分。直接使用数据库进行数据分析可以满足简单的查询需求,但当我们需要进行大规模数据分析时,单个数据库已经无法满足需求,这时我们需要使用数据仓库来处理海量数据。而Hive则是数据仓库领域中最流行的开源组件之一,它可以将Hadoop分布式计算引擎和SQL查询集成在一起,并支持海量数据的并行处理。同时,在Go语言中使

PHP入门指南:PHP和HivePHP入门指南:PHP和HiveMay 20, 2023 am 08:33 AM

PHP是一种广泛使用的服务器端编程语言,它的使用范围覆盖了几乎所有行业。在本篇文章中,我们将探讨PHP对于大数据处理的特殊作用。在特定环境下,PHP可以与ApacheHive协作,从而实现实时数据处理和分析。先来介绍一下Hive。Hive是一个基于Hadoop的数据仓库解决方案。它可以将结构化数据映射成SQL查询,并以MapReduce任务的方式执行查询。

PHP实现开源Hive大数据分析平台PHP实现开源Hive大数据分析平台Jun 18, 2023 pm 02:47 PM

随着数据处理越来越重要,大数据分析也变得越来越普遍。然而,许多公司可能不想花费大量资金在商业分析平台上。开源解决方案为这些公司提供了一种可行的选择。在这个文章中,我们将讨论如何使用PHP实现开源Hive大数据分析平台。Hive是一个基于Hadoop的数据仓库系统,可以通过SQL查询和管理Hadoop上的大规模数据集。它使用类似于SQL的HiveQL语言来查询

Microsoft Exchange Server 受到 Hive 的“windows.exe”勒索软件的攻击Microsoft Exchange Server 受到 Hive 的“windows.exe”勒索软件的攻击Apr 16, 2023 pm 01:28 PM

尽管保持软件更新和仅从受信任的来源下载文件是标准的网络安全实践,但鉴于最近恶意软件攻击的增加,很明显在这方面需要更多的教育。为此,Varonis 取证团队就使用 Hive 勒索软件的攻击者如何在其最新系列攻击中针对 Microsoft Exchange Server 提供了一些指导。对于那些不知道的人,Hive 遵循勒索软件即服务模型。尽管微软在 2021 年针对已知漏洞对 E

Centos7安装配置Hive教程。Centos7安装配置Hive教程。Feb 19, 2024 pm 02:21 PM

当在CentOS7上安装和配置Hive时,可以按照以下步骤进行操作:确保已安装Java:首先,确保在CentOS7上已经安装了Java。可以使用以下命令检查Java是否已安装:java-version如果没有安装Java,请根据你的需要安装合适的Java版本。下载Hive:访问ApacheHive的官方网站(),下载最新的稳定版本的Hive。解压Hive压缩包:使用以下命令解压Hive压缩包:tarxvfzhive-x.x.x.tar.gz这将解压缩Hive到当前目录下。配置环境变量:打开终端,

Microsoft 发布针对 Windows Defender 中的 Behavior:Win32/Hive.ZY 错误的修复程序Microsoft 发布针对 Windows Defender 中的 Behavior:Win32/Hive.ZY 错误的修复程序Apr 28, 2023 pm 04:01 PM

一位微软官员证实了有关谷歌Chrome、ChromiumEdge、Discord和其他几个应用程序被微软内置防病毒软件“WindowsDefender”标记为“ Behavior:Win32/Hive.ZY”的广泛报道。这家科技巨头在一份声明中证实,它正在研究一个修复程序,该修复程序将在接下来的几个小时内向所有人推出。那么“Behavior:Win32/Hive.ZY”到底是什么?根据微软安全门户上发布的一份文件,任何标记为“Behavior:Win32/Hive.ZY”的文件都是带有

如何修复 Windows Defender 行为:Win32/Hive.ZY 警报如何修复 Windows Defender 行为:Win32/Hive.ZY 警报May 06, 2023 am 08:04 AM

许多Windows11和10用户看到来自WindowsDefender的警告通知表示检测到威胁“行为:Win32/Hive.ZY”而感到困扰。据报道,当用户尝试打开一些常用应用程序(如GoogleChrome或ChromiumEdge、Whatsapp、Discord和Spotify)时,会引发此WindowsDefender警告或警报。即使您在PC上阻止了此威胁,它也会在您下次打开此受影响的应用程序时弹出并显示一条消息MicrosoftDefenderAntivi

如何使用Python读取Hive数据库?如何使用Python读取Hive数据库?May 09, 2023 pm 04:28 PM

实际业务读取hive数据库的代码importloggingimportpandasaspdfromimpala.dbapiimportconnectimportsqlalchemyfromsqlalchemy.ormimportsessionmakerimportosimporttimeimportosimportdatetimefromdateutil.relativedeltaimportrelativedeltafromtypingimportDict,Listimportloggingi

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境