廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開微信
圖片

行業(yè)新聞

數(shù)據(jù)庫(kù)之Hive概論、架構(gòu)

發(fā)布時(shí)間: 2023-04-14

概論

Hive是一個(gè)建立在Hadoop上的數(shù)據(jù)倉(cāng)庫(kù)框架,最初,Hive由Facebook開發(fā),后端由Apache軟件基金會(huì)移交,并作為Apache的一個(gè)開源項(xiàng)目。

Hive是一個(gè)基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)工具,它將結(jié)構(gòu)化的數(shù)據(jù)文件映射到數(shù)據(jù)庫(kù)表中并提供類似SQL的查詢功能。

Hive它可以存儲(chǔ)非常大的數(shù)據(jù)集,可以直接訪問存儲(chǔ)在Apache HDFS或其他數(shù)據(jù)存儲(chǔ)系統(tǒng)(如Apache HBase)的文件。

Hive支持MapReduce、Spark、Tez這三種分布式計(jì)算引擎。

Hive架構(gòu)

Hive是建立在Hadoop上的數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)架構(gòu),它提供了一系列的工具,可以存儲(chǔ)、查詢、分析存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)中的大規(guī)模數(shù)據(jù)集。Hive定義了簡(jiǎn)單的類SQL查詢語言,通過底層的計(jì)算引擎,將SQL轉(zhuǎn)為具體的計(jì)算任務(wù)進(jìn)行執(zhí)行。

 客戶端:寫類SQL語句

Hive驅(qū)動(dòng)器:解析、優(yōu)化SQL

計(jì)算引擎:通過計(jì)算引擎來執(zhí)行SQL

數(shù)據(jù)存儲(chǔ):存儲(chǔ)源數(shù)據(jù)和結(jié)果數(shù)據(jù)

MapReduce

它將計(jì)算分為兩個(gè)階段,分別為Map和Reduce。對(duì)于應(yīng)用來說,需要想辦法將應(yīng)用拆分為多個(gè)map、reduce,以完成一個(gè)完整的算法。

MapReduce整個(gè)計(jì)算過程會(huì)不斷重復(fù)的往磁盤里讀寫中間結(jié)果。導(dǎo)致計(jì)算速度比較慢,效率比較低。

Tez

把Map/Reduce過程拆分成若干個(gè)子過程,同時(shí)可以把多個(gè)Map/Reduce任務(wù)組合成一個(gè)較大DAG任務(wù),減少了Map/Reduce之間的文件存儲(chǔ)。 

Spark

Apache Spark是一個(gè)快速的,多用途的集群計(jì)算系統(tǒng),相對(duì)于Hadoop MapReduce將中間結(jié)果保存在磁盤中,Spark使用了內(nèi)存保存中間結(jié)果,能在數(shù)據(jù)尚未寫入硬盤時(shí)在內(nèi)存中進(jìn)行計(jì)算,同時(shí)Spark提供SQL支持。 Spark 實(shí)現(xiàn)了一種叫RDDs的DAG執(zhí)行引擎,其數(shù)據(jù)緩存在內(nèi)存中可以進(jìn)行迭代處理。

使用的是Hive+Spark計(jì)算引擎

上一篇: linux命令之rpm

下一篇: linux vi命令的用法

<
在線咨詢 ×

您好,請(qǐng)問有什么可以幫您?我們將竭誠(chéng)提供最優(yōu)質(zhì)服務(wù)!