我正在Zeppelin内部的协作环境中与Spark合作。因此,我们只有一个解释器,并且许多用户正在使用该解释器。因此,我在instantiation per user
中使用scoped mode
对其进行了定义。
使用此配置,用户作业X等待其他用户的作业分配的资源。
要更改此行为并允许来自不同用户的作业同时执行,我定义了Spark配置(在Zeppelin解释器配置上)spark.scheduler.mode
等于FAIR
。为了达到预期的效果,用户需要在笔记本上手动定义自己的Spark池(可以同时执行来自不同池的作业:https://spark.apache.org/docs/latest/job-scheduling.html#scheduling-within-an-application),并使用以下代码:
sc.setLocalProperty("spark.scheduler.pool", "pool1")
Ps .:一小时后,解释器关闭。如果用户忘记下次执行该命令,那么他们将落入默认池中,这是不好的。
我想知道的是:当Spark用户每次执行您的段落时都无需人工费力就能自动设置它吗?
如果还有另一种方法可以实现,请告诉我。