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;
需要根據具體的業務場景和數據特點選擇合適的去重方式。