Criar réplicas de visualizações materializadas
Neste documento, descrevemos como criar réplicas de visualização materializadas no BigQuery. Uma réplica de visualização materializada é uma replicação de dados externos do Amazon Simple Storage Service (Amazon S3), do Apache Iceberg ou do Salesforce Data Cloud em um conjunto de dados do BigQuery para que os dados fiquem disponíveis localmente no BigQuery. Isso ajuda a evitar custos de saída de dados e melhorar o desempenho da consulta.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Verifique se você tem as permissões necessárias do Identity and Access Management (IAM) para realizar as tarefas neste documento.
-
bigquery.tables.create
-
bigquery.tables.get
-
bigquery.tables.getData
-
bigquery.tables.replicateData
-
bigquery.jobs.create
- Crie um conjunto de dados em uma região compatível com o Amazon S3.
- Crie uma tabela de origem no conjunto de dados criado na etapa anterior. A tabela de origem pode ser de qualquer um destes tipos:
- Uma tabela do Amazon S3 BigLake com o armazenamento em cache de metadados ativado e que não usa um formato de arquivo Iceberg.
- Uma tabela externa somente leitura do Apache Iceberg.
- Uma tabela do Data Cloud.
No console Google Cloud , acesse a página BigQuery.
No painel Explorer, navegue até o projeto e o conjunto de dados em que você quer criar a réplica da visualização materializada e clique em > Criar tabela.
Conferir açõesNa seção Origem da caixa de diálogo Criar tabela, faça o seguinte:
- Em Criar tabela de, selecione Tabela/visualização atual.
- Em Projeto, insira o projeto em que a tabela ou visualização de origem está localizada.
- Em Conjunto de dados, insira o conjunto de dados em que a tabela ou visualização de origem está localizada.
- Em Visualização, insira a tabela ou visualização de origem que você está replicando. Se você escolher uma visualização, ela precisa ser uma visualização autorizada. Caso contrário, todas as tabelas usadas para gerar essa visualização precisam estar no conjunto de dados dela.
Opcional: em Inatividade máxima da visualização materializada local, insira um valor
max_staleness
para sua visualização materializada local.Na seção Destino da caixa de diálogo Criar tabela, faça o seguinte:
- Em Projeto, insira o projeto em que você quer criar a réplica de visualização materializada.
- Em Conjunto de dados, insira o conjunto de dados em que você quer criar a réplica de visualização materializada.
- Em Nome da visualização materializada da réplica, insira um nome para a réplica.
Opcional: especifique tags e opções avançadas para sua réplica de visão materializada. Se você não especificar um conjunto de dados para Conjunto de dados da visualização materializada local, um será criado automaticamente no mesmo projeto e região dos dados de origem e será chamado de
bq_auto_generated_local_mv_dataset
. Se você não especificar um nome para Nome da visualização materializada local, um será criado automaticamente no mesmo projeto e região dos dados de origem e receberá o prefixobq_auto_generated_local_mv_
.Clique em Criar tabela.
- Crie uma visualização materializada na tabela base do conjunto de dados que você criou. Também é possível criar a visualização materializada em um conjunto de dados diferente que esteja em uma região do Amazon S3.
- Autorize a visualização materializada nos conjuntos de dados que contêm as tabelas de origem usadas na consulta que criou a visualização materializada.
- Se você tiver configurado a atualização manual do cache de metadados para a tabela de origem, execute o procedimento de sistema
BQ.REFRESH_EXTERNAL_METADATA_CACHE
para atualizar o cache de metadados. - Execute o
procedimento do sistema
BQ.REFRESH_MATERIALIZED_VIEW
para atualizar a visualização materializada. Crie réplicas de visualizações materializadas usando 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
embq_dataset
:CREATE MATERIALIZED VIEW `myproject.bq_dataset.mv_replica` OPTIONS( replication_interval_seconds=600 ) AS REPLICA OF `myproject.s3_dataset.my_s3_mv`
Funções exigidas
Para receber as permissões necessárias para realizar as tarefas neste documento,
peça ao administrador para conceder a você o
papel do IAM de Administrador do BigQuery (roles/bigquery.admin
).
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 executar as tarefas neste documento. 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 executar as tarefas neste documento:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre o IAM do BigQuery, consulte Introdução ao IAM no BigQuery.
Preparar um conjunto de dados para réplicas de visualização materializadas
Antes de criar uma réplica de visualização materializada, conclua as seguintes tarefas:
Criar réplicas de visualizações materializadas
Selecione uma das seguintes opções:
Console
Uma nova visualização materializada local é criada (se não foi especificada) e autorizada no conjunto de dados de origem. Em seguida, a réplica da visualização materializada é criada no conjunto de dados de destino.
SQL
Depois de criar a réplica de visualização materializada, o processo de replicação pesquisa a visualização materializada de origem em busca de mudanças e replica os dados para a réplica, atualizando os dados no intervalo especificado na opção replication_interval_seconds
ou max_staleness
. Se você consultar a
réplica antes da conclusão do primeiro preenchimento, vai 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.