Criar réplicas de visualizações materializadas

Neste documento, descrevemos como criar réplicas de visualização materializadas no BigQuery. É possível usar réplicas de visualização materializadas para disponibilizar os dados do Amazon Simple Storage Service (Amazon S3) localmente para junções.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

Permissões necessárias

Atribua papéis do Identity and Access Management (IAM) que concedam aos usuários as permissões necessárias para realizar cada tarefa deste documento.

Para criar réplicas de visualização materializadas, você precisa das seguintes permissões do IAM:

  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.replicateData
  • bigquery.jobs.create

Cada um dos seguintes papéis predefinidos do IAM inclui as permissões necessárias para criar uma visualização materializada:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

Para mais informações sobre o Identity and Access Management (IAM), consulte a Introdução ao IAM no BigQuery.

Pré-requisitos

Antes de criar uma réplica de visualização materializada, conclua as seguintes tarefas:

  1. Crie um conjunto de dados em uma região compatível com o Amazon S3.
  2. Crie uma tabela do Amazon S3 BigLake no conjunto de dados criado na Etapa 1. Ative o armazenamento em cache de metadados ao criar a tabela.
  3. Crie uma visualização materializada sobre a tabela do Amazon S3 BigLake no conjunto de dados que você criou na Etapa 1. Também é possível criar a visualização materializada em um conjunto de dados diferente que esteja em uma região compatível com o Amazon S3.
  4. Autorize a visualização materializada nos conjuntos de dados que contêm as tabelas de origem do Amazon S3 BigLake usadas na consulta que criou a visualização materializada.
  5. Se você tiver configurado a atualização manual do cache de metadados para a tabela do BigLake do Amazon S3, execute o procedimento de sistema BQ.REFRESH_EXTERNAL_METADATA_CACHE para atualizar o cache de metadados.
  6. Execute o procedimento do sistema BQ.REFRESH_MATERIALIZED_VIEW para atualizar a visualização materializada.

Criar réplicas de visualizações materializadas

Para criar réplicas de visualização materializadas, use a instrução CREATE MATERIALIZED VIEW AS REPLICA OF:

CREATE MATERIALIZED VIEW PROJECT_ID.BQ_DATASET.REPLICA_NAME
OPTIONS(replication_interval_seconds=REPLICATION_INTERVAL)
AS REPLICA OF PROJECT_ID.S3_DATASET.MATERIALIZED_VIEW_NAME;

Substitua:

  • PROJECT_ID: o nome do projeto em que você quer criar a réplica de visualização materializada. Por exemplo, myproject.
  • BQ_DATASET: o nome do conjunto de dados do BigQuery em que você quer criar a réplica de visualização materializada. Por exemplo, bq_dataset. O conjunto de dados precisa estar na região do BigQuery que é mapeada para a região da visualização materializada da origem.
  • REPLICA_NAME: o nome da réplica de visualização materializada que você quer criar, por exemplo, my_mv_replica.
  • REPLICATION_INTERVAL: especifica a frequência de replicação dos dados da visualização materializada da origem para a réplica, em segundos. Precisa ser um valor entre -60 e 3.600 incluindo estes dois valores. O padrão é 300 (5 minutos).
  • S3_DATASET: o nome do conjunto de dados que contém a visualização materializada de origem, por exemplo, s3_dataset.
  • MATERIALIZED_VIEW_NAME: o nome da visualização materializada a ser replicada, por exemplo, my_mv.

O exemplo a seguir cria uma réplica de visualização materializada denominada mv_replica em bq_dataset:

CREATE MATERIALIZED VIEW `myproject.bq_dataset.mv_replica`
OPTIONS(
  replication_interval_seconds=600
)
AS REPLICA OF `myproject.s3_dataset.my_s3_mv`

Depois de criar a réplica de visualização materializada, o processo de replicação pesquisa a visualização materializada da origem em busca de mudanças e replica os dados para a réplica de visualização materializada, atualizando os dados no intervalo especificado na opção replication_interval_seconds. Se você consultar a réplica antes da conclusão do primeiro preenchimento, receberá um erro backfill in progress. É possível consultar os dados na réplica de visualização materializada após a conclusão da primeira replicação.