Configurar o particionamento e o clustering para um destino do BigQuery

Ao configurar o particionamento e o agrupamento para o seu destino no BigQuery, você pode otimizar o desempenho das consultas e controlar os custos. O particionamento e o agrupamento permitem reduzir a quantidade de dados que o BigQuery precisa analisar durante a execução de consultas.

Particionamento de tabelas

O particionamento de tabela divide a tabela em segmentos chamados partições, o que facilita o gerenciamento e a consulta dos dados. Para particionar tabelas, especifique uma coluna de partição usada para segmentar a tabela.

O Datastream é compatível com três tipos de particionamento para tabelas do BigQuery:

  • Particionamento por tempo de processamento: é possível particionar uma tabela com base no tempo que o Datastream leva para processar os dados no BigQuery. Você pode selecionar a granularidade horária, diária, mensal ou anual para o particionamento do tempo de ingestão. A granularidade diária é a padrão.

  • Particionamento por unidade de tempo: você pode particionar uma tabela com base em uma coluna de origem de um tipo de dados que o Datastream mapeia para um dos seguintes tipos de dados do BigQuery: DATE, DATETIME ou TIMESTAMP. Para obter informações sobre como o Datastream mapeia tipos de dados de origem para tipos de dados do BigQuery, consulte Mapeamentos de tipo de dados no BigQuery.

    Dependendo do tipo de dados do BigQuery a que a coluna de origem é mapeada, você pode selecionar um dos seguintes tipos de granularidade:

    • DAY, MONTH, YEAR: para o tipo de dados DATE.
    • HOUR, DAY, MONTH, YEAR: para os tipos de dados DATETIME e TIMESTAMP.

  • Particionamento por intervalo de números inteiros: é possível particionar uma tabela por uma coluna de origem de um tipo de dados que o Datastream mapeia para o tipo de dados INTEGER do BigQuery. Você precisa fornecer as seguintes informações:

    • Início: o valor inicial do primeiro intervalo de partição (inclusivo).
    • Fim: o valor final do último intervalo de partição (exclusivo).
    • Intervalo: a extensão de cada intervalo de partição.

    Para mais informações, consulte Particionamento por intervalo de números inteiros.

Para mais informações sobre o particionamento no BigQuery, consulte Introdução às tabelas particionadas e Gerenciamento de tabelas particionadas.

Clustering de tabela

O clustering classifica os dados em uma tabela com base nos valores das colunas de clustering e coloca dados com valores semelhantes no mesmo lugar. As consultas que filtram pelas colunas em cluster verificam apenas os blocos de dados relevantes, e não toda a tabela ou partição. Isso pode melhorar o desempenho e reduzir os custos da consulta.

É possível agrupar as tabelas do BigQuery em até quatro colunas. A ordem em que você especifica as colunas determina a ordem de classificação dos dados.

É possível agrupar uma tabela com base em uma coluna de origem de um tipo de dados que o Datastream mapeia para um dos seguintes tipos de dados do BigQuery:

  • BIGNUMERIC
  • BOOLEAN
  • DATE
  • DATETIME
  • GEOGRAPHY
  • INT64
  • NUMERIC
  • RANGE
  • STRING
  • TIMESTAMP

Para obter informações sobre como o Datastream mapeia tipos de dados de origem para tipos de dados do BigQuery, consulte Mapeamentos de tipo de dados no BigQuery.

Para mais informações sobre o clustering no BigQuery, consulte Introdução às tabelas em cluster e Gerenciar tabelas em cluster.

Limitações

  • Para limitações de particionamento no BigQuery, consulte Introdução às tabelas particionadas.

  • Para limitações de agrupamento no BigQuery, consulte Introdução a tabelas agrupadas.

  • Para limites de cota que se aplicam a tabelas particionadas do BigQuery, consulte Cotas e limites.

  • Além disso, as seguintes limitações se aplicam ao usar o Datastream:

    • O particionamento e o clustering só são aplicados quando o Datastream cria uma tabela do BigQuery. Se você quiser configurar ou modificar as configurações de particionamento e clustering de uma tabela que já existe, primeiro exclua-a do BigQuery e depois configure ou modifique as configurações no Datastream.
    • Para fontes do MongoDB, só é possível particionar as tabelas por tempo de ingestão.
    • O clustering não é compatível com bancos de dados do MongoDB.

A seguir