全部課程
數(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是建立在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命令的用法