Apache Spark的执行环境特点
整个执行环境的情况
火花驱动
Spark驱动程序具有多个角色。
-
- cluster Managerへ情報の伝達をする
-
- Sparkを実行するJVMのためのcluster Managrからの、メモリなどのリソースの要求
-
- DAGコンピューティング、スケジュール、それらをタスクとして配布することをSaprkの操作で行う
-
- 再びリソースを配布
- それらをSpark executerに伝達
火花会议
Spark的入口点
//ライブラリの読み込み
import org.apache.spark.sql.SparkSession
//SparkSessionの構築
val spark = SparkSession
.builder
.appName("appName")
.config("spark.sql.shuffle.partition", 6)
.getOrCreate()
//Jsonの読み込み
val people = spark.read.json("fileName")
集群管理器
角色
- Sparkのアプリケーションの実行のリソースの管理や割り当ての役割
能够管理以下集群
-
- Apache Hadoop YARN
-
- Apache Mesos
- Kubernetes
火花执行器
Spark执行器负责将信息传递给程序驱动程序,并在执行器任务中扮演重要角色。
部署模式
Spark有各种不同的部署模式。
Cluster Manager是Spark的执行者,只要满足资源需求,它可以独立于环境,可以部署在Apache Hadoop YARN或Kubernetes等平台上。
数据和分区 hé
数据存储在各种不同的位置上,
但在Spark中,可以逻辑性地处理分区和数据。
请注意,这些只适用于网络关闭且已加载分区的任务。