如何解决Spark动态分配和位置级别
我们有一个巨大的火花工作,在其生命周期的整个过程中利用不同数量的资源。因此,我们启用了动态调度,以便它可以在不再需要时释放资源,并在任务等待时获取更多资源。一开始似乎还不错,但是我们注意到的是,任务的ALTER ROLE visuo_ingest SET TIMEZONE TO 'Australia/Sydney';
(PROCESS_LOCAL,NODE_LOCAL)正因此而受苦。一种情况是,没有一个执行程序少于集群中的节点数(由于Locality Level
执行程序被删除)。新任务的数量不超过可用内核(即,正在运行的任务数量不多),但是分拆出的新任务具有局域级别或RACK_LOCAL,因为没有执行程序在数据所在的节点上运行。问题是Spark调度程序可以实现这一目标,还可以启用动态调度这一事实,以便它可以继续进行并在节点所在的节点上使用NODE_LOCAL本地性处理新的执行程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。