解决思路
一种解决思路是使用group by。即group by用于判断数据重复的多个字段,再使用:
collect_set(非group by字段)[0]
从group by获取的数据中随意取一个非group by字段。
例子
例如,有下表:
我需要以前两列的字段作为判断重复的标准,即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语句的执行结果: