文章目录

解决思路

一种解决思路是使用group by。即group by用于判断数据重复的多个字段,再使用:

collect_set(非group by字段)[0]

从group by获取的数据中随意取一个非group by字段。

例子

例如,有下表:
hive基于多列去重操作
我需要以前两列的字段作为判断重复的标准,即user_name和commentid字段。如若重复,其他列随机取字段值就行了。如下为hive操作语句:

SELECT user_name,commentid,collect_set(title)[0] as title,collect_set(source)[0] as source,
collect_set(content)[0] as content ,collect_set(time)[0] as time,collect_set(car_model)[0] as car_model
 FROM user_2morecars GROUP BY user_name,commentid;

如下为hive语句的执行结果:
hive基于多列去重操作

相关文章:

  • 2022-12-23
  • 2021-05-17
  • 2018-06-03
  • 2021-05-31
  • 2021-08-22
猜你喜欢
  • 2021-12-03
  • 2021-11-01
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-01-06
相关资源
相似解决方案