T1 と T2 の 2 つのハイブ テーブルがあります。T1 は、列 date1,hour1 でパーティション分割された外部テーブルです。また、date2 という別の日付列もあります (date1 とは異なります)。
T2 は、date2 でパーティション分割されたハイブ テーブルです。
データは 1 時間ごとに増分的に取得され、動的パーティションを使用してテーブル T1 に簡単に追加できます。
T1 からデータを選択し、date2 で分割されたデータを T2 に段階的にロードする効率的な方法が必要です。
これが私が今していることです
insert into T2
select
*,
date2
from
(
select * from T1 where date1="a constant date" and hour1 = "a constant hour"
) T1SubQuery
left outer join
T2
on
T1SubQuery.idColumn = T2.idColumn
where
T2.idColumn is null
左外部結合と「T1.idColumnがnullの場所」を実行して、「どこにないか」をシミュレートしています。そして、データの重複を避けるためにそれを行っています。クエリは複数回実行でき、冪等にしたいと考えています。
質問
T2 のどのパーティションがこのクエリで使用されますか? 使用するパーティションの数を最小限に抑えるにはどうすればよいですか?
この種の冪等増分データロードを行う最も効率的な方法は何ですか?