Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.
Adiciona uma política de atualização à visualização materializada, controlando quando incrementar a atualização. Aplica-se à CREATE MATERIALIZED VIEW instrução (pipelines ).
Para saber mais sobre incrementalização, consulte Atualização incremental para vistas materializadas. Pode verificar se uma consulta SQL é incrementalizável com a EXPLAIN CREATE MATERIALIZED VIEW instrução em Databricks SQL. Consulte EXPLAIN CREATE MATERIALIZED VIEW.
Sintaxe
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parâmetros
refresh_policy
Define uma política de atualização para a visualização materializada. Se for omitido
REFRESH POLICY,AUTOé a política padrão.A política de atualização define como uma atualização gere a incrementalização da visualização materializada.
AUTOO sistema seleciona automaticamente a renovação incremental ou completa, com base no modelo de custo.
Estado Comportamento Está disponível o incremental para a atualização. Utiliza o modelo de custo para determinar qual é mais barato, incremental ou completo. O incremental não está disponível para atualização. Faz uma atualização completa. É necessário criar ou reinicializar (por exemplo, na alteração do esquema) Faz uma atualização completa. INCREMENTALO sistema utiliza atualizações incrementais sempre que possível. Em
CREATE, se a consulta não puder ser incrementalizada, a instrução create falha.Estado Comportamento Está disponível o incremental para a atualização. Realiza uma atualização incremental. O incremental não está disponível para a atualização. Faz uma atualização completa. É necessário criar ou reinicializar, mas a incrementalização é possível para a consulta. Faz uma atualização completa. É necessário criar ou reinicializar, e a incrementalização não é possível para a consulta. A operação falha. INCREMENTAL STRICTO sistema utiliza atualizações incrementais. Em
CREATE, se a consulta não puder ser incrementalizada, a instrução create falha.Estado Comportamento Está disponível o incremental para a atualização. Realiza uma atualização incremental. O incremental não está disponível para a atualização. A atualização falha. É necessário criar ou reinicializar, mas a incrementalização é possível para a consulta. Faz uma atualização completa. É necessário criar ou reinicializar, e a incrementalização não é possível para a consulta. A operação falha. FULLO sistema utiliza sempre uma atualização completa.
Estado Comportamento Está disponível o incremental para a atualização. Faz uma atualização completa. O incremental não está disponível para a atualização. Faz uma atualização completa. É necessário criar ou reinicializar. Faz uma atualização completa.
Comportamento em caso de falha
Quando uma atualização falha porque não consegue cumprir a política de atualização (para REFRESH POLICY INCREMENTAL (STRICT)), o sistema devolve uma classe de erro de MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE com informação detalhada que descreve a razão pela qual não é incremental:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYcom expressões complexas acima não é suportado. -
EXPRESSION_NOT_DETERMINSTIC: Uma função não determinística, comoRAND, é usada na consulta. -
INPUT_NOT_IN_DELTA: Um ou mais conjuntos de dados fonte não são tabelas Delta. -
OPERATOR_NOT_INCREMENTALIZABLE: Um operador, como uma junção complexa, impede a incrementalização. -
ROW_TRACKING_NOT_ENABLED: Tabelas de origem que requerem rastreamento de linhas não têm o rastreamento de linhas ativado. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Uma ou mais subconsultas na sua consulta não são incrementalizáveis. -
UDF_NOT_DETERMINISTIC: Um ou mais UDFs usados na expressão não estão marcados como determinísticos. -
WINDOW_WITHOUT_PARTITION_BY: As especificações de janelas semPARTITION_BYnão são incrementalizáveis.
Para compreender o que torna uma consulta incremental, veja Atualização incremental para vistas materializadas.
Para verificar se uma consulta SQL é incremental, use a EXPLAIN CREATE MATERIALIZED VIEW instrução no Databricks SQL. Consulte EXPLAIN CREATE MATERIALIZED VIEW.
Examples
-- Create a materialized view with an incremental policy
CREATE OR REFRESH MATERIALIZED VIEW my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;