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
- 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.
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:
- Crie um conjunto de dados em uma região compatível com o Amazon S3.
- Crie uma tabela base no conjunto de dados criado na Etapa 1. A tabela base pode ser de qualquer um destes tipos:
- Um Amazon S3 BigLake tabela com o armazenamento em cache de metadados ativado e que não usa um formato de arquivo Iceberg
- Uma tabela do Apache Iceberg BigLake
- Uma tabela do Salesforce Data Cloud
- 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.
- 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.
- 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. - 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.