更新時(shí)間:2022-01-06 來源:黑馬程序員 瀏覽量:
整個(gè)Spark 框架模塊包含:Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX、 Spark MLlib,而后四項(xiàng)的能力都是建立在核心引擎之上。
Spark Core:Spark的核心,Spark核心功能均由Spark Core模塊提供,是Spark運(yùn)行的基礎(chǔ)。Spark Core以RDD為數(shù)據(jù)抽象,提供Python、Java、Scala、R語(yǔ)言的API,可以編程進(jìn)行海量離線數(shù)據(jù)批處理計(jì)算。
SparkSQL:基于SparkCore之上,提供結(jié)構(gòu)化數(shù)據(jù)的處理模塊。SparkSQL支持以SQL語(yǔ)言對(duì)數(shù)據(jù)進(jìn)處理,SparkSQL本身針對(duì)離線計(jì)算場(chǎng)景。同時(shí)基于SparkSQL,Spark提供了StructuredStreaming模塊,可以以SparkSQL為基礎(chǔ),進(jìn)行數(shù)據(jù)的流式計(jì)算。
SparkStreaming:以SparkCore為基礎(chǔ),提供數(shù)據(jù)的流式計(jì)算功能。
MLlib:以SparkCore為基礎(chǔ),進(jìn)行機(jī)器學(xué)習(xí)計(jì)算,內(nèi)置了大量的機(jī)器學(xué)習(xí)庫(kù)和API算法等。方便用戶以分布式計(jì)算的模式進(jìn)行機(jī)器學(xué)習(xí)計(jì)算。
GraphX:以SparkCore為基礎(chǔ),進(jìn)行圖計(jì)算,提供了大量的圖計(jì)算API,方便用于以分布式計(jì)算模式進(jìn)行圖計(jì)算。
Spark提供多種運(yùn)行模式,包括:
本地模式就是以一個(gè)獨(dú)立的進(jìn)程,通過其內(nèi)部的多個(gè)線程來模擬整個(gè)Spark運(yùn)行時(shí)環(huán)境
Spark中的各個(gè)角色以獨(dú)立進(jìn)程的形式存在,并組成Spark集群環(huán)境
Spark中的各個(gè)角色運(yùn)行在YARN的容器內(nèi)部,并組成Spark集群環(huán)境
Spark中的各個(gè)角色運(yùn)行在Kubernetes的容器內(nèi)部,并組成Spark集群環(huán)境
Spark SQL架構(gòu)的工作原理是什么?和Hive有什么不同?
Spark有哪些特點(diǎn),Spark的生態(tài)系統(tǒng)包含哪些組件?
相比Hive,Spark處理數(shù)據(jù)的速度為什么更快?