我有一个包含个人及其一些详细信息的大型数据集。该数据集包含大量重复项,并且大量记录基于它们的特征之一相互“关联”。为确保链接正确的记录,3 个要素中有 2 个的匹配项将被计为一个链接。每个人都需要链接到所有可能的记录,并且每个记录都将被分配一个 clusterId。
我有以下数据集结构:
+--+----+----+----+
|id|col1|col2|col3|
+--+----+----+----+
|1 |A |B |C |
+--+----+----+----+
|2 |A |B |D |
+--+----+----+----+
|3 |A |Z |D |
+--+----+----+----+
id 1 将链接到 id 2(因为 col1 和 col2 相同),id 2 将链接到 id 3(因为 col1 和 col3 相同)。链接 id 1 和 2 为这个“集群”添加了更多信息,并且在建立链接之后,id 3 应该属于该集群。
数据集非常大(2800 万条记录),我没有一个好主意可以让我在合理的时间范围内建立这些关系。
任何想法解决这个问题的最快和最优雅的方法是什么?