Clonar tabelas dinâmicas¶
A clonagem cria uma nova tabela dinâmica com as mesmas definições de coluna e contém todos os dados existentes da tabela dinâmica de origem, sem realmente copiar os dados.
Você pode clonar uma tabela dinâmica em uma nova tabela dinâmica ou em uma tabela regular.
Clonar uma tabela dinâmica em uma nova tabela dinâmica¶
Cloned dynamic tables, whether cloned directly or as part of a cloned database or schema, are suspended by default.
In DYNAMIC_TABLE_GRAPH_HISTORY, this appears as CLONED_AUTO_SUSPENDED in the SCHEDULING_STATE column. Any downstream dynamic tables are also suspended, shown as UPSTREAM_CLONED_AUTO_SUSPENDED. For more information, see Suspensão dinâmica automática da tabela.
-- Clone a dynamic table to a new dynamic table
CREATE [ OR REPLACE ] [ TRANSIENT ] DYNAMIC TABLE <name>
CLONE <source_dynamic_table>
[ { AT | BEFORE } ( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> | STATEMENT => <id> } ) ]
[
COPY GRANTS
TARGET_LAG = { '<num> { seconds | minutes | hours | days }' | DOWNSTREAM }
WAREHOUSE = <warehouse_name>
]
Você também pode clonar uma tabela dinâmica como ela existia em um ponto específico no passado:
CREATE DYNAMIC TABLE my_cloned_dynamic_table CLONE my_dynamic_table AT (TIMESTAMP => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'));
Para obter mais informações, consulte Clonagem usando Time Travel (somente bancos de dados, esquemas, tabelas, tabelas dinâmicas, tabelas de eventos e fluxos).
Clonar uma tabela dinâmica em uma tabela nova¶
As tabelas clonadas herdam as mesmas definições de coluna e dados da tabela dinâmica de origem, mas não têm propriedades específicas da tabela dinâmica. Elas mantêm políticas de mascaramento e de acesso a linhas, tags, chaves de clustering e comentários.
-- Clone a dynamic table to a new table
CREATE [ OR REPLACE ] TABLE [ IF NOT EXISTS ] <name>
CLONE <source_dynamic_table_name>
[ { AT | BEFORE } ( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> | STATEMENT => <id> } ) ]
A clonagem de uma tabela dinâmica em uma tabela regular segue as mesmas considerações da clonagem de uma tabela regular, com as seguintes exceções:
A tabela dinâmica de origem precisa ser inicializada para ser clonada como uma tabela regular.
Não é possível clonar tabelas dinâmicas Apache Iceberg™.
Práticas recomendadas para clonagem de pipelines de tabelas dinâmicas¶
Clone todos os elementos do pipeline da tabela dinâmica com o mesmo comando de clonagem para evitar reinicializações de seu pipeline. Você pode fazer isso consolidando todos os elementos do pipeline (por exemplo, tabelas base, visualizações e tabelas dinâmicas) no mesmo esquema ou banco de dados.