У меня есть следующие RDD, содержащие наборы элементов, которые я хотел бы группировать по подобию элементов (Элементы в том же наборе считаются схожими. Сходство транзитивно и все элементы в наборах, которые по крайней мере один общий элемент, также рассматриваются аналогичные)Уменьшить Spark RDD для возврата нескольких значений
Входной РДД:
Set(w1, w2)
Set(w1, w2, w3, w4)
Set(w5, w2, w6)
Set(w7, w8, w9)
Set(w10, w5, w8) --> All the first 5 set elements are similar as each of the sets have atleast one common item
Set(w11, w12, w13)
Я хотел бы выше RDD, чтобы свести к
Set(w1, w2, w3, w4, w5, w6, w7, w8, w9, w10)
Set(w11, w12, w13)
Любой sugge что я могу сделать? Я не могу сделать что-то, как показано ниже, где я мог бы игнорировать сокращение два набора, если они не содержат каких-либо общих элементов:
data.reduce((a,b) => if (a.intersect(b).size > 0) a ++ b ***else (a,b)***)
Спасибо.
Отлично. Благодарю. Никогда не исследовал библиотеку Spark's Graphx, и мне пора это сделать. – soontobeared