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

行業(yè)新聞

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

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

概論

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

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

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

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

Hive架構(gòu)

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

 客戶端:寫類SQL語句

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

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

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

MapReduce

它將計算分為兩個階段,分別為Map和Reduce。對于應用來說,需要想辦法將應用拆分為多個map、reduce,以完成一個完整的算法。

MapReduce整個計算過程會不斷重復的往磁盤里讀寫中間結(jié)果。導致計算速度比較慢,效率比較低。

Tez

把Map/Reduce過程拆分成若干個子過程,同時可以把多個Map/Reduce任務組合成一個較大DAG任務,減少了Map/Reduce之間的文件存儲。 

Spark

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

使用的是Hive+Spark計算引擎

上一篇: linux命令之rpm

下一篇: linux vi命令的用法

<
在線咨詢 ×

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