如何在更新查找时在spark分区中进行顺序处理



我有一项工作需要一定程度的并行性,同时在每个执行器中进行顺序处理。

每个分区的场景

DF1(DF stating which all character should be in same group)
____________
A | B | p1  --> this row states that A and B should be in same group, p1 is partition
B | C | p1
C | D | p1
-----------
DF2 (known group of G1 & G2 for character A & D)
_______
A | G1
D | G2
--------

现在我想在DF1上按顺序运行,并开始对字符进行分组。对于DF1中第一行的ex,B将进入G1组,因为A在G1中。类似地,当我处理第二行时,C将进入G1组,因为B由于前一行而处于G1中。然后类似地,D也会进入G1,因为现在C在G1。

我被困在如何在不OOM的情况下在spark中顺序处理这个问题上,因为数据可能是巨大的。

听起来像是在解决图形问题。你应该看看GraphX,它有助于表示你正在讨论的关系。我不能保证它会在记忆中起作用,但它会帮助你以更好的方式表示信息。(它实际上完全描述了你想要做的事情。(

最新更新