代码之家  ›  专栏  ›  技术社区  ›  User12547645

数据处理中任务并行的一个好例子是什么?

  •  0
  • User12547645  · 技术社区  · 7 年前

    为了在分布式环境中处理数据,可以执行任务并行化或数据并行化。到目前为止,我只遇到了数据并行化。

    任务并行性: 将任务分解为更小的任务并并行处理。

    数据并行性:

    例如,MapReduce对我来说是数据并行化,因为您将数据划分到不同的映射器。像bucket sort这样的算法也是数据并行化,因为您将要排序的数据分解到bucket中,并将其分配给不同的节点。

    在实践中,如果没有数据并行化,似乎就没有纯粹的任务并行化。例如,如果我们想处理一个大的CSV文件,并通过一个独立的节点对每一列进行不同的处理,那么对我来说,按列分解数据也是有意义的(数据并行化也是如此)。

    有没有一个没有数据并行的任务并行的例子?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Martin Ueding    7 年前

    作为我博士工作的一部分,我有一个大型数据分析项目。它有许多不同的步骤,我们必须做。有些步骤相互依赖,有些步骤是独立的。下面是生成的具有依赖关系流的图表。蓝色节点是数据,白色节点是脚本/任务,黄色节点是生成的报告。您可以看到某些任务如何依赖某些数据并生成其他数据:

    enter image description here

    为了运行这些,我们可以使用任务并行。一旦我们 corr_matrix.Rdata 如果可用,我们可以运行 outlier.R 剧本一旦完成,我们就可以生成 10_outlier.Rmd 报告以及运行 outlier_removal.R 剧本这只是我们执行的所有任务的一小部分,通常可以并行运行一些任务。

    为了利用任务并行化,您需要有一系列不同的任务。当您只有一个任务时,您所能做的就是对数据进行并行化。

    推荐文章