scala – Spark执行程序如何运行多个任务?
发布时间:2020-12-16 18:34:41 所属栏目:安全 来源:网络整理
导读:例如,如果执行程序的数量是40,但任务数是80,这意味着每个执行程序将并行运行两个任务.此外,我的函数(执行哪些任务)不是正常的函数,但我在其中调用程序.因此,每项任务实际上需要几分钟才能完成.所以,我的问题是,Spark如何管理它?这些任务会共享执行程序的JVM
例如,如果执行程序的数量是40,但任务数是80,这意味着每个执行程序将并行运行两个任务.此外,我的函数(执行哪些任务)不是正常的函数,但我在其中调用程序.因此,每项任务实际上需要几分钟才能完成.所以,我的问题是,Spark如何管理它?这些任务会共享执行程序的JVM吗?核心数量如何,它将在这两个任务之间分配?如果不希望这两个任务同时运行,但是以循环方式执行它们,也就是说,运行第一个任务与所有执行程序的核心,并且只有在完成后运行第二个任务,该怎么办?
解决方法
这取决于您如何分配资源,即核心数,每个执行器的核心数和已分配的内存给执行者.它还取决于您如何编程以获得最大并行度.
它还取决于您如何编码以获得最大并行度.如果有两个任务并且它们彼此独立,它们将并行运行.如果一个任务依赖于先前任务的结果,则它们将以串行方式执行. 是的,通过制作两个执行器并为其分配可用内核,可以将核心数分为两个任务. 要以循环方式执行任务,您需要定义分区方案并根据它分配资源.这将确保每个任务在执行其他任务后执行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |