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 eles fiquem disponíveis localmente no BigQuery. Isso pode ajudar a evitar custos de saída de dados e melhorar a performance 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.
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:
-
bigquery.tables.create
-
bigquery.tables.get
-
bigquery.tables.getData
-
bigquery.tables.replicateData
-
bigquery.jobs.create
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:
- Crie um conjunto de dados em uma região compatível com o Amazon S3.
- Crie uma tabela de origem no conjunto de dados que você criou 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 do BigLake para o Apache Iceberg.
- Uma tabela do Data Cloud.
Criar réplicas de visualizações materializadas
Selecione uma das seguintes opções:
Console
No Console do 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.
Ver açõesNa seção Origem da caixa de diálogo Criar tabela, faça o seguinte:
- Em Criar tabela de, selecione Tabela/visualização existente.
- Em Project, insira o projeto em que a tabela ou visualização de origem está localizada.
- Em Dataset, 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 localizadas no conjunto de dados da visualização.
Opcional: para 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 Project, 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 a réplica da visualização materializada. Se você não especificar um conjunto de dados para o Conjunto de dados da visualização materializada local, um será criado automaticamente no mesmo projeto e região dos dados de origem e nomeado
bq_auto_generated_local_mv_dataset
. Se você não especificar um nome para o nome da visualização materializada local, ele 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.
Uma nova visualização materializada local é criada (se não tiver sido especificada) e autorizada no conjunto de dados de origem. Em seguida, a réplica de visualização materializada é criada no conjunto de dados de destino.
SQL
- 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 do 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ção 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 de 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`
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
da visualização materializada, 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, 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.