動的テーブルをクローンする¶
クローニングにより、データを実際にコピーすることなく、同じ列定義を使用して、ソースの動的テーブルのすべての既存データを含む新しい動的テーブルを作成します。
動的テーブルは、新しい動的テーブルまたは通常のテーブルにクローンできます。
動的テーブルを新しい動的テーブルにクローンする¶
クローンされた動的テーブルは、直接クローンされた場合でも、クローンされたデータベースやスキーマの一部としてクローンされた場合でも、デフォルトで一時停止されます。
DYNAMIC_TABLE_GRAPH_HISTORY では、これは SCHEDULING_STATE 列に CLONED_AUTO_SUSPENDED として表示されます。下流の動的テーブルも一時停止され、 UPSTREAM_CLONED_AUTO_SUSPENDED として表示されます。詳細については、 自動動的テーブル一時停止 をご参照ください。
過去の特定の時点で存在していた動的テーブルをクローンすることもできます。
詳細については、 Time Travelを使用したクローニング(データベース、スキーマ、テーブル、動的テーブル、、イベントテーブル、ストリームのみ) をご参照ください。
動的テーブルを新しいテーブルにクローンする¶
クローンテーブルは、ソースの動的テーブルと同じ列定義とデータを継承しますが、動的テーブル固有のプロパティはありません。行アクセス、マスキングポリシー、タグ、クラスタリングキー、コメントを保持します。
動的テーブルを通常のテーブルにクローンする場合は、次の例外を除いて 通常のテーブルのクローニング と同じ考慮事項に従います。
通常のテーブルとしてクローンされるためには、ソースの動的テーブルが 初期化済み である必要があります。
動的 Apache Iceberg™ テーブルをクローンすることはできません。
動的テーブルのクローニングパイプラインのベストプラクティス¶
パイプラインの再初期化を避けるために、同じcloneコマンドで動的テーブルパイプラインのすべての要素をクローンします。パイプラインのすべての要素(基本テーブル、表示、動的テーブルなど)を同じスキーマまたはデータベースに統合することでこれを行うことができます。