gpt4 book ai didi

scala - Apache-Spark 内部作业调度

转载 作者:可可西里 更新时间:2023-11-01 15:32:50 31 4
gpt4 key购买 nike

我在 Spark 中发现了这个功能,它允许您在 spark 上下文 中安排不同的任务。

我想在一个程序中实现这个特性,在这个程序中我映射我的输入RDD(from a text source)到一个键值RDD [K,V ] 随后生成一个复合键值 RDD [(K1,K2),V] 和一个包含一些特定值的过滤 RDD

进一步的管道涉及在 RDDjoin 操作上从 MLlib 调用一些统计方法,然后将结果外部化到磁盘。

我正在尝试了解 spark 的内部公平调度程序将如何处理这些操作。我尝试阅读作业调度文档,但对 poolsuserstasks 的概念感到更加困惑。

pools 到底是什么,它们是特定的'tasks' 可以组合在一起还是它们是 linux 用户汇集到一个组中

上下文中的用户是什么。他们指的是线程吗?还是类似于 SQL 上下文查询?

我想这与如何在 spark context 中安排任务有关。但是阅读文档会让我们觉得我们正在处理具有不同客户端和用户组的多个应用程序。

有人可以澄清一下吗?

最佳答案

您在第 2 段中描述的所有流水线过程:

map -> map -> map -> filter

将在单个阶段处理,就像您熟悉的 MapReduce 中的 map() 一样。这是因为不需要重新分区或洗牌你的数据对记录之间的相关性没有要求,spark 会在创建新阶段之前将尽可能多的转换链接到同一阶段,因为它会非常轻量级.有关阶段分离的更多信息可以在其论文中找到:Resilient Distributed Datasets第 5.1 节作业调度。

当阶段执行时,它将是一个任务集(在不同的线程中运行相同的任务),并在 spark 的角度被同时调度。

而Fair scheduler即将调度不相关的任务集,这里不适合。

关于scala - Apache-Spark 内部作业调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858199/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com