一時パーティション
このトピックでは、一時パーティション機能の使用方法について説明します。
既にパーティションルールが定義されているパーティションテーブルに一時パーティションを作成し、これらの一時パーティションに対して新しいデータ分散戦略を定義できます。一時パーティションは、パーティション内のデータをアトミックに上書きする場合や、パーティションおよびバケッティング戦略を調整する場合に、一時的なデータキャリアとして機能します。一時パーティションでは、特定の要件を満たすために、パーティション範囲、バケット数、レプリカ数、記憶媒体などのデータ分散戦略をリセットできます。
一時パーティション機能は、次のシナリオで使用できます。
-
アトミック上書き操作
パーティション内のデータを再書き込みする必要があり、その過程でデータをクエリできるようにする場合、まず元の正式なパーティションに基づいて一時パーティションを作成し、新しいデータを一時パーティションにロードします。その後、置換操作を 使用して、元の正式なパーティションを一時パーティションでアトミックに置き換えることができます。非パーティションテーブルでのアトミック上書き操作については、ALTER TABLE - SWAPを参照してください。
-
パーティションデータクエリの同時実行性の調整
パーティションのバケット数を変更する必要がある場合、元の正式なパーティションと同じパーティション範囲を持つ一時パーティションを作成し、新しいバケット数を指定します。その後、
INSERT INTOコマンドを使用して、元の正式なパーティションのデータを一時パーティションにロードします。最後に、置換操作を使用して、元の正式なパーティションを一時パーティションでアトミックに置き換えることができます。 -
パーティションルールの変更
パーティション戦略を変更したい場合、例えばパーティションをマージしたり、大きなパーティションを複数の小さなパーティションに分割したりする場合、まず期待されるマージまたは分割範囲を持つ一時パーティションを作成します。その後、
INSERT INTOコマンドを使用して、元の正式なパーティションのデータを一時パーティションにロードします。最後に、置換操作を使用して、元の正式なパーティションを一時パーティションでアトミックに置き換えることができます。