如何在spark提交作业中决定--executor内存和--num-of-executors。什么是-number-of-core的概念。
群集和客户端部署模式之间的明显区别。如何选择部署模式
答案 0 :(得分:0)
您提出的关于--executor-memory
,--num-executors
和--num-executor-cores
的问题的第一部分通常取决于您的Spark应用程序要执行的各种任务。
tasks
中的指令。这些任务在执行程序核心(或处理器)中执行。这有助于您在某个执行程序中实现并行性,但请确保不将机器的所有内核分配给其执行程序,因为正常运行需要一些内核。关于问题的第二部分,我们在Spark中有两个--deploy-mode
,您已经命名为cluster
和client
。
client
模式是指将外部计算机连接到群集并从该外部计算机运行spark作业。就像将笔记本电脑连接到群集并从中运行spark-shell
一样。在您的笔记本电脑中调用驱动程序JVM,并在断开笔记本电脑后立即终止会话。类似于spark-submit
作业的情况,如果您使用--deploy-mode client
运行作业,您的笔记本电脑就像主人一样,但是一旦断开工作就会被终止(不确定这个)。 cluster
模式:当您在作业中指定--deploy-mode cluster
时,即使您使用笔记本电脑或任何其他计算机运行它,作业(JAR)也由ResourceManager和ApplicationMaster处理,就像YARN中的任何其他应用程序一样。您将无法在屏幕上看到输出,但无论如何,大多数复杂的Spark作业都会写入FS,以便这样处理。