Visualização MATERIALIZED_VIEWS
A visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS contém status sobre visualizações materializadas.
Permissões necessárias
    
      Para receber as permissões necessárias para consultar a visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS,
    
      peça ao administrador para conceder a você o papel
    
  
  
    
      Visualizador de metadados do BigQuery  (roles/bigquery.metadataViewer)
     do IAM no projeto ou conjunto de dados.
  
  
  
  
  Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
  
  
      
        
          Esse papel predefinido contém
        
        as permissões necessárias para consultar a visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
      
    
      
Permissões necessárias
As permissões a seguir são necessárias para consultar a visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS:
- 
                  
bigquery.tables.get - 
                  
bigquery.tables.list 
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.Esquema
Quando você consulta a visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS, os resultados da consulta contêm uma linha para cada visualização materializadas em um conjunto de dados.
A visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS tem o seguinte esquema:
| Nome da coluna | Tipo de dados | Valor | 
|---|---|---|
table_catalog | 
      STRING | 
      Nome do projeto que contém o conjunto de dados. Também chamado de projectId. | 
    
table_schema | 
      STRING | 
      O nome do conjunto de dados que contém a visualização materializada. Também chamado de datasetId. | 
    
table_name | 
      STRING | 
      O nome da visualização materializada. Também conhecido como tableId. | 
    
last_refresh_time | 
      TIMESTAMP | 
      A hora em que essa visualização materializada foi atualizada pela última vez. | 
refresh_watermark | 
      TIMESTAMP | 
      A marca-d'água de atualização da visualização materializada. Os dados contidos em tabelas base de visualização materializadas até o momento são incluídos no cache de visualizações materializadas. | 
last_refresh_status | 
      RECORD | 
      Resultado do erro do último job de atualização automática como um objeto ErrorProto. Se presente, indica que a última atualização automática falhou. | 
Escopo e sintaxe
As consultas nessa visualização precisam incluir um conjunto de dados ou um qualificador de região. Para consultas com um qualificador de conjunto de dados, é preciso ter permissões para o conjunto de dados. Para consultas com um qualificador de região, é preciso ter permissões para o projeto. Para mais informações, consulte Sintaxe. A tabela a seguir explica os escopos de região e recurso dessa visualização:
| Nome da visualização | Escopo do recurso | Escopo da região | 
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.MATERIALIZED_VIEWS | 
  Nível do projeto | REGION | 
  
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.MATERIALIZED_VIEWS | 
  Nível do conjunto de dados | Local do conjunto de dados | 
- 
  Opcional: 
PROJECT_ID: o ID do seu projeto do Google Cloud . Se não for especificado, o projeto padrão será usado. - 
  
REGION: qualquer nome da região do conjunto de dados. Por exemplo,`region-us`. - 
  
DATASET_ID: ID do conjunto de dados. Para mais informações, consulte Qualificador de conjunto de dados. 
Exemplo:
-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS;
-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.MATERIALIZED_VIEWS;
Exemplos
Exemplo 1:
O exemplo a seguir recupera todas as visualizações materializadas não íntegras da visualização INFORMATION_SCHEMA.MATERIALIZED_VIEWS. Ele retorna as visualizações materializadas
com valores last_refresh_status não NULL em mydataset no seu projeto
padrão: myproject.
Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS.
SELECT table_name, last_refresh_status FROM mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS WHERE last_refresh_status IS NOT NULL;
O resultado será semelhante ao seguinte:
  +---------------+---------------------------------------------------------------------+
  |  table_name   |                        last_refresh_status                          |
  +---------------------------------------------------------------------+---------------+
  |  myview       |   {"reason":"invalidQuery","location":"query","message":"..."}      |
  +---------------------------------------------------------------------+---------------+
  Exemplo 2:
O exemplo a seguir recupera last_refresh_time e refresh_watermark da visualização materializada myview em mydataset no seu projeto padrão (myproject). O resultado mostra quando a materializada foi atualizada pela última vez e até
quando os dados de tabelas base são coletados no cache da visualização materializada.
Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS.
SELECT table_name, last_refresh_time, refresh_watermark FROM mydataset.INFORMATION_SCHEMA.MATERIALIZED_VIEWS WHERE table_name = 'myview';
O resultado será semelhante ao seguinte:
+---------------+------------------------------------------------+ | table_name | last_refresh_time | refresh_watermark | +---------------+------------------------------------------------+ | myview | 2023-02-22 19:37:17 | 2023-03-08 16:52:57 | +---------------+------------------------------------------------+