如何从行集中查找父元素

时间:2014-09-22 10:34:41

标签: sql parent rows

我有一组数据:

 a b c
 d c 
 e d 
 c g 
 f a 
 v w 
 v m 
 n m o

根据这些数据我需要分组

{ a b c d e f g}    
{ m o v w }

没有多次迭代数据集。是否可以使用高级SQL函数或HIVE / PIG中的一些简单方法(只是猜测)?

1 个答案:

答案 0 :(得分:0)

您要做的是在所有节点的图形中查找每个连接的子图。 您可以通过首先构建图形,然后遍历所有寻找连接子图的节点来解决它。

要构建“大”图表,每个节点都是一个字母,如果两个字母属于同一个集合,则它们会链接在一起。

然后转到每个字母,尝试浏览从这封信开始的图表并删除您看到的每个字母。重新启动搜索算法的时间是您拥有的数量。

考虑到复杂性,图形结构取决于您拥有的数量以及不同字母的数量。 对于图搜索,它与您的字母和连接数呈线性关系。 当然,根据您的设置如何以及您使用的数据结构,您可以进行一些优化。

有关wikipedia的更多信息。