Spark 使用 **master/worker **结构。
这里有一个driver 程序与一个名为master的协调器进行通信,这个 master 管理运行着 executors 的 workers 。
在最常见的情况下,异常可以提高程序的可读性,可靠性和可维护性。 如果使用不当,可能会产生相反的效果。