3

指导方针是什么,或者我们在哪里可以找到设计系统以实现最佳并行性的指导方针。我知道数据是在各个节点上拆分的,并为此进行了优化。

我在文件中的数据目前有多个客户、站点、产品和用户。我需要按客户、站点、产品进行汇总,这意味着可以在各个节点中轻松计算该数据的子集,并在处理结束时将其带回单个节点进行输出。

但是,我没有在作业图中看到那种级别的并行性。它正在显示 MDOP,但不是以一种看起来最佳的方式。我有 4 种不同的计算,它们是在客户、站点、产品上独立完成的。它与 4 个计算并行,但在整个数据集上进行。实际上,它应该能够将其扇出,例如 10 个节点每个有 1 个客户,然后每个节点都可以将其计算扇出到另外 4 个节点。(此处仅注意数字,例如,数据规模要大得多)。

如何优化文件布局或 U-SQL 逻辑以鼓励更多 MDOP?

4

1 回答 1

1

您的数据是来自非结构化文件还是 U-SQL 表?您正在处理多少数据(您需要在非分区文件中超过 250MB 才能获得并行性)。

如果数据来自文件,您可以对文件进行分区并使用文件集和 ROWCOUNT 提示来获得更好的并行性。

如果数据存储在 U-SQL 表中,则可以使用表分区和列聚类来影响并行化。

另外,您对并行化的看法是什么?请注意,作业图将向您显示超级顶点 (SV),它仅显示执行相同作业的顶点组。内部的每个顶点(如果有足够的数据)将在一片数据上并行执行。并且 - 如果可能的话 - 将以最小的洗牌传递给其他顶点。

于 2016-03-28T19:39:34.793 回答