Hive 中要按 user_id 去重并只保留每个用户最新的一条记录,通常使用?

大数据基础

  1. A.SELECT DISTINCT user_id, * FROM t ORDER BY update_time DESC
  2. B.GROUP BY user_id 后直接 SELECT 其他所有列并 ORDER BY update_time DESC
  3. C.ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY update_time DESC) 取 rn = 1
  4. D.先 ORDER BY update_time DESC 再 LIMIT 1,对每个 user_id 各执行一次