【发布时间】:2016-07-19 18:12:34
【问题描述】:
我提出了一个关于 Spark 的非常愚蠢的问题,因为我想澄清我的困惑。我是 Spark 的新手,仍在尝试了解它在内部是如何工作的。
假设我有一个输入文件列表(假设为 1000),我想在某处处理或写入这些文件,并且我想使用合并将我的分区数减少到 100。
现在我用 12 个执行器运行这个作业,每个执行器有 5 个核心,这意味着它运行时有 60 个任务。这是否意味着,每个任务都将在一个单独的分区上独立工作?
回合:1 12 个执行器,每个执行器有 5 个核心 => 60 个任务进程 60 分区
轮次:2 8 个执行器,每个执行器有 5 个核心 => 40 个任务处理剩下的 40 个分区和 4 个执行器从不放置 第二次工作
或者来自同一个执行器的所有任务都将在同一个分区上工作?
回合:1:12 执行者 => 处理 12 个分区
回合:2:12 执行者 => 处理 12 个分区
回合:3:12 执行者 => 处理 12 个分区
....
....
....
回合:9(96个分区 已处理):4 个执行者 => 处理剩余的 4 个 分区
【问题讨论】:
标签: hadoop apache-spark hadoop-yarn