Hive 去重的方式有以下几种:
使用 DISTINCT 关键字:可以在查询语句中使用 DISTINCT 关键字,它会去除查询结果中的重复行。 例如:SELECT DISTINCT col1, col2 FROM table;
使用 GROUP BY 和聚合函数:可以使用 GROUP BY 子句结合聚合函数(如 COUNT、SUM、AVG 等)来实现去重。 例如:SELECT col1, col2, COUNT(*) FROM table GROUP BY col1, col2;
使用窗口函数:可以使用窗口函数(如 ROW_NUMBER、RANK 等)进行排序和标记,然后在外层查询中根据标记进行去重。 例如:SELECT col1, col2 FROM (SELECT col1, col2, ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col1, col2) as row_num FROM table) t WHERE row_num = 1;
使用 UNION 或 UNION ALL 进行合并:可以先将查询结果进行合并,然后使用 DISTINCT 关键字去除重复行。 例如:SELECT col1, col2 FROM table1 UNION SELECT col1, col2 FROM table2;
需要根据具体的业务场景和数据特点选择合适的去重方式。