PDF转Excel:高效去除AI特征,实现数据自由编辑
986
2022-05-29
3.1.2 Spark工作节点与执行器
Spark执行器是运行Spark的DAG中的任务的进程。执行器会占用Spark集群的从节点(工作节点)上的CPU和内存资源。每个执行器都是特定的Spark应用专用的,当应用完成时退出。一个Spark程序通常有多个执行器并行工作。
执行器运行在工作节点上,而每个工作节点在同一时间内能启动的执行器数量是有限/额定的。因此,对于一个规模固定的集群来说,同一时间能启动的执行器数量也是有限的。如果一个应用请求了超过集群剩余物理容量的执行器数量,就需要等待已启动的执行器完成并释放资源。
本章已经介绍过,Spark执行器运行在JVM上。每个执行器所使用的JVM都有一个堆(heap),是用来存储和管理对象的专用的内存空间。
各个执行器的JVM堆的内存大小可以通过spark.executor.memory属性设置,也可以通过pyspark、spark-shell或spark-submit的--executor-memory参数设置。
执行器把任务的输出数据存储在内存或硬盘里。需要注意的是,工作节点和执行器只负责执行分配给它们的任务,而应用是由所有任务的集合和它们之间的依赖关系组成的,这部分由驱动器进程负责理解。
通过访问4040端口上的Spark应用用户界面,用户可以查看应用的所有执行器,如图3.4所示。
图3.4 Spark应用用户界面的执行器标签页
对于Spark独立集群的部署方式来说,工作节点会在端口8081上提供用户界面,如图3.5所示。
图3.5 Spark工作节点用户界面
Spark python spark Python
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。