核心概念可视化
您编写了一个名为spark_hello_world.py的Spark应用程序。 在客户端模式下,使用spark-submit执行python文件时,驱动程序直接在spark-submit进程内启动,因此它将与spark_hello_world.py驻留在同一台计算机上。 初始化Spark上下文时,本地计算机中的驱动程序将连接到群集中的应用程序主机。 从主机开始,Spark启动了更多执行器。 在群集模式下,spark_hello_world.py代码位于客户端计算机中,而客户端计算机不在群集中。 执行应用程序python代码时,它将在集群中的一个节点中启动驱动程序。 与Spark应用程序主文件一起,它可以启动执行程序并发布应用程序命令。
鉴于设置差别不大,您一定想知道为什么我们需要两种不同的模式。 在实践中,这与客户端计算机与工作计算机在物理上位于同一位置有关。 如果客户端计算机离工作节点"遥远",例如 您在笔记本电脑上编写了spark_hello_world.py,但是工作程序是AWS EC2实例,那么使用群集模式是有意义的,以便最大程度地减少驱动程序和执行程序之间的网络延迟。 在另一种情况下,如果您的python文件位于与工作节点"非常近"的网关计算机中,则客户端模式可能是一个不错的选择。 (编辑:吉安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |