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. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  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 base no conjunto de dados criado na Etapa 1. A tabela base pode ser de qualquer um destes tipos:
  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.