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