指的是在将Spark任务提交到集群(YARN,Spark集群为主)的时候,提供两种提交部署方案: client模式 , cluster模式
本质区别: Spark程序中Driver程序运行在什么位置上
1、
client模式: 客户端, Driver程序运行在执行spark-submit所在节点上 默认就是client模式
好处: 由于Driver是运行在客户端, 当执行完成后, 需要查看结果, 此时executor会将结果返回给Driver, Driver在客户端, 直接答应, 我们直接在客户端看到执行结果 (方便测试)
弊端: 由于Driver和executor有可能不在同一个环境中,会导致中间网络传输效率比较低, 从而影响整体的效率
此种方式一般在生产环境中不使用, 主要使用在测试环境
2、
cluster模式: 集群模式, Driver程序运行在提交集群所在的某一个节点上
好处: Driver程序和executor都在同一个集群环境中, 在进行传输数据的时候, 可以更大利用内部网络带宽优势, 提升效率
弊端: 不方便测试, Driver运行在集群环境中,所有的内容全部都会记录到日志文件中, 无法会给提交的客户端, 所以客户端想要查看结果, 需要看日志
此种方式一般用于生产环境