为什么sparkshell(pyspark或scala)以客户机模式而不是集群模式运行?

mfuanj7w  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(695)

我一直理解spark shell,无论是pyspark还是scala,都是在客户机模式下运行的。如果我错了,请纠正我,没有现成的配置可以在集群模式下使用它们。
为什么会这样?是什么使群集模式不适合这些交互式shell?
客户端和驱动程序之间的网络延迟可能是一个因素。如果使用了yarn,那么可能会有更高的初始启动时间,因为需要从yarn资源管理器为驱动程序提供集群资源。但在我看来,这两个因素并不是严重的阻碍因素。
编辑
问题spark submit/spark shell>yarn client和yarn cluster模式之间的差异是相关的,但没有关注shell为什么不能在cluster模式下运行(答案没有涵盖)。

pyspark --deploy-mode cluster
Error: Cluster deploy mode is not applicable to Spark shells.
r1wp621o

r1wp621o1#

由于sparkshell用于交互式查询,因此spark驱动程序必须在主机上运行(而不是作为集群内的容器)。换句话说,我们使用spark驱动程序连接到集群,驱动程序是处理编程的接口——交互式编程。

相关问题