全部課程
數據庫之Hive概論、架構
發(fā)布時間: 2023-04-14
Hive是一個建立在Hadoop上的數據倉庫框架,最初,Hive由Facebook開發(fā),后端由Apache軟件基金會移交,并作為Apache的一個開源項目。
Hive是一個基于Hadoop的數據倉庫工具,它將結構化的數據文件映射到數據庫表中并提供類似SQL的查詢功能。
Hive它可以存儲非常大的數據集,可以直接訪問存儲在Apache HDFS或其他數據存儲系統(如Apache HBase)的文件。
Hive支持MapReduce、Spark、Tez這三種分布式計算引擎。
Hive是建立在Hadoop上的數據倉庫基礎架構,它提供了一系列的工具,可以存儲、查詢、分析存儲在分布式存儲系統中的大規(guī)模數據集。Hive定義了簡單的類SQL查詢語言,通過底層的計算引擎,將SQL轉為具體的計算任務進行執(zhí)行。
客戶端:寫類SQL語句
Hive驅動器:解析、優(yōu)化SQL
計算引擎:通過計算引擎來執(zhí)行SQL
數據存儲:存儲源數據和結果數據
MapReduce
它將計算分為兩個階段,分別為Map和Reduce。對于應用來說,需要想辦法將應用拆分為多個map、reduce,以完成一個完整的算法。
MapReduce整個計算過程會不斷重復的往磁盤里讀寫中間結果。導致計算速度比較慢,效率比較低。
Tez
把Map/Reduce過程拆分成若干個子過程,同時可以把多個Map/Reduce任務組合成一個較大DAG任務,減少了Map/Reduce之間的文件存儲。
Spark
Apache Spark是一個快速的,多用途的集群計算系統,相對于Hadoop MapReduce將中間結果保存在磁盤中,Spark使用了內存保存中間結果,能在數據尚未寫入硬盤時在內存中進行計算,同時Spark提供SQL支持。 Spark 實現了一種叫RDDs的DAG執(zhí)行引擎,其數據緩存在內存中可以進行迭代處理。
使用的是Hive+Spark計算引擎
上一篇: linux命令之rpm
下一篇: linux vi命令的用法