更新時間:2022年01月05日16時54分 來源:傳智教育 瀏覽次數(shù):
整個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,可以編程進行海量離線數(shù)據(jù)批處理計算。
SparkSQL:基于SparkCore之上,提供結(jié)構(gòu)化數(shù)據(jù)的處理模塊。SparkSQL支持以SQL語言對數(shù)據(jù)進處理,SparkSQL本身針對離線計算場景。同時基于SparkSQL,Spark提供了StructuredStreaming模塊,可以以SparkSQL為基礎(chǔ),進行數(shù)據(jù)的流式計算。
SparkStreaming:以SparkCore為基礎(chǔ),提供數(shù)據(jù)的流式計算功能。
MLlib:以SparkCore為基礎(chǔ),進行機器學習計算,內(nèi)置了大量的機器學習庫和API算法等。方便用戶以分布式計算的模式進行機器學習計算。
GraphX:以SparkCore為基礎(chǔ),進行圖計算,提供了大量的圖計算API,方便用于以分布式計算模式進行圖計算。
Spark提供多種運行模式,包括:
本地模式就是以一個獨立的進程,通過其內(nèi)部的多個線程來模擬整個Spark運行時環(huán)境
Spark中的各個角色以獨立進程的形式存在,并組成Spark集群環(huán)境
Spark中的各個角色運行在YARN的容器內(nèi)部,并組成Spark集群環(huán)境
Spark中的各個角色運行在Kubernetes的容器內(nèi)部,并組成Spark集群環(huán)境