client模式 和 cluster模式
client模式 和 cluster模式本质区别: spark应用程序中Driver程序运行的位置
client模式: Driver程序是运行在客户端的本地(应用在哪里进行提交, Driver就运行在哪里) 默认值
优势: 测试比较方便, 直接通过Driver看到最终返回的结果
弊端: 由于不在一起(Driver 和 executor 不在一个环境中), 受网络影响因素比较大, 导致执行效率比较低
一般client模式更加适合于测试使用
cluster模式: Driver程序是运行在集群中某个从节点上
优势: 提升Driver程序和executor程序之间的传输效率 从而提升整体的运行效率
弊端: 由于Driver运行在集群里面. 导致我们无法直接看到运行的结果, 如果想要看到结果, 就必须查看Driver的运行日志
一般在生产上线部署的时候, 采用cluster模式
默认为client模式
修改语句
./spark-submit \ --master yarn \ --deploy-mode client