我需要帮助消除一组不同ID中的用户列表(2000万+)。
下面是它的样子:
-我们有3种用户ID:id1、id2和id3。-其中至少有两个始终一起发送:id1与id2或id2与id3。id3从不与id1一起发送。
-用户可以有多个id1、id2或id3。
-所以有时候,在我的表中,我会有几行有很多不同的id,但有可能所有这些都可以描述一个用户。
举个例子:
所有这些ID都显示一个用户。
我想我可以添加一个fourthid(groupid),这就是消除重复数据的方法。有点像这样:
问题是:我知道如何通过cursor/open/fetch/next命令在sqlserver上实现这一点,但我的环境中只有hiveql、impala和python可用。
有谁知道最好的方法是什么?
万分感谢,
雨果
1条答案
按热度按时间6rvt4ljy1#
根据您的示例,假设id2始终存在,您可以聚合行,按id2分组:
现在我试着实现你描述的逻辑: