非常に大きな Hive テーブル (毎日数百万行が挿入される) で実行するクエリを作成しています。
(行が追加される前ではなく、追加された後に) 重複をチェックする必要があります。以下が最も効率的な方法なのか、それとも新しく挿入された行を既存のデータと照合して重複をチェックするだけなのか、疑問に思っていました。たとえば、これは OVER 句で実行できますか? それとも、効率の向上はありませんか?
テーブルはロード日に分割され、tez を使用します。
select
col1,
count(*) as col1_count
from database.table
group by col1
having count(*) >=2;