Ver recomendações de partição e cluster
Neste documento, descrevemos como o recomendador de partição e cluster funciona e como visualizar suas recomendações e insights.
O recomendador de particionamento e clustering do BigQuery gera recomendações de partição ou cluster para otimizar as tabelas do BigQuery. O recomendador analisa os fluxos de trabalho nas tabelas do BigQuery e oferece recomendações para otimizar melhor seus fluxos de trabalho e custos de consulta usando o particionamento de tabelas ou o clustering de tabelas.
Para mais informações sobre o serviço do recomendador, consulte a Visão geral do recomendador.
Como o recomendador funciona
Para gerar uma recomendação, o recomendador de particionamento e clustering usa os dados de execução da carga de trabalho do projeto dos últimos 30 dias para analisar cada tabela do BigQuery quanto a configurações de particionamento e clustering não ideais. O recomendador também usa o machine learning para prever quanto a execução da carga de trabalho pode ser otimizada com diferentes configurações de particionamento ou clustering. Se o recomendador descobrir que o particionamento ou clustering de uma tabela gera economias significativas, ele vai gerar uma recomendação. O recomendador de particionamento e clustering gera os seguintes tipos de recomendações:
Tipo de tabela existente | Subtipo de recomendação | Exemplo de recomendação |
---|---|---|
Não particionado, sem cluster | Partição | "Economize cerca de 64 horas de slot por mês ao particionar em column_C por DAY" |
Não particionado, sem cluster | Cluster | "Economize cerca de 64 horas de slot por mês ao fazer clustering em column_C" |
Particionada, sem cluster | Cluster | "Economize cerca de 64 horas de slot por mês ao fazer clustering em column_C" |
Cada recomendação tem três partes:
- Orientação para particionar ou fazer cluster de uma tabela específica
- A coluna específica em uma tabela para particionar ou fazer cluster
- Estimativa de economia mensal para aplicar a recomendação
Para calcular possíveis economias de carga de trabalho, o recomendador considera que os dados históricos de execução dos últimos 30 dias representam a carga de trabalho futura.
A API Recommender também retorna informações de carga de trabalho na tabela na forma de insights. Insights são descobertas que ajudam você a entender a carga de trabalho do seu projeto, fornecendo mais contexto sobre como uma recomendação de partição ou cluster pode melhorar os custos da carga de trabalho.
Limitações
O recomendador de particionamento e clustering exclui consultas SQL legadas na análise.
O recomendador de particionamento e clustering não é compatível com recursos armazenados nas seguintes regiões:
europe-central2
,europe-west8
,europe-west9
,europe-west12
,europe-north1
,europe-southwest1
us-east1
,us-east5
,us-south1
me-central1
,me-central2
,me-west1
australia-southeast2
southamerica-west1
Antes de começar
Antes de visualizar as recomendações de partição e cluster, ative a API Recommender.
Permissões necessárias
Para receber as permissões necessárias para acessar as recomendações de partição e cluster,
peça ao administrador para conceder a você o papel de
Leitor do recomendador de clustering de particionamento do BigQuery (roles/recommender.bigqueryPartitionClusterViewer
) do IAM.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esse papel predefinido contém as permissões necessárias para acessar as recomendações de partição e cluster. 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 acessar as recomendações de partição e cluster:
-
recommender.bigqueryPartitionClusterRecommendations.get
-
recommender.bigqueryPartitionClusterRecommendations.list
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Introdução ao IAM.
Ver recomendações
Nesta seção, descrevemos como visualizar recomendações e insights de cluster e partição usando o console do Google Cloud, a CLI do Google Cloud ou a API Recommender.
Selecione uma das seguintes opções:
Console
No Console do Google Cloud, acesse a página BigQuery.
Para abrir a guia de recomendações, clique em > Ver todas as recomendações.
RecomendaçõesA guia de recomendações lista todas as recomendações disponíveis para o projeto.
No painel Otimizar o custo da carga de trabalho do BigQuery, clique em Ver tudo.
A tabela de recomendações de custos lista todas as recomendações geradas para o projeto atual. Por exemplo, a captura de tela a seguir mostra que o recomendador analisou a tabela
example_table
e, em seguida, recomendo o clustering da colunaexample_column
para economizar uma quantidade aproximada de bytes e slots.Para mais informações sobre o insight e a recomendação da tabela, clique em uma recomendação.
Como alternativa, visualize todas as recomendações disponíveis para seu projeto ou organização clicando em Recomendações na navegação lateral.
gcloud
Para conferir recomendações de partição ou cluster para um projeto específico, use
o
comando gcloud recommender recommendations list
:
gcloud recommender recommendations list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --recommender=google.bigquery.table.PartitionClusterRecommender \ --format=FORMAT_TYPE \
Substitua:
PROJECT_NAME
: o nome do projeto que contém sua tabela do BigQuery.REGION_NAME
: a região em que o projeto está.FORMAT_TYPE
: um formato de saída da CLI gcloud com suporte. Por exemplo, JSON
Propriedade | Relevante para o subtipo | Descrição |
---|---|---|
recommenderSubtype |
Partição ou cluster | Indica o tipo de recomendação. |
content.overview.partitionColumn |
Partição | Nome da coluna de particionamento recomendado. |
content.overview.partitionTimeUnit |
Partição | Unidade de tempo de particionamento recomendada. Por exemplo, DAY significa que a
recomendação é ter partições diárias na coluna recomendada. |
content.overview.clusterColumns |
Cluster | Nomes das colunas de clustering recomendados. |
- Para saber mais sobre outros campos na resposta do recomendador, consulte Recurso REST:
projects.locations.recommendersrecommendation
. - Para mais informações sobre o uso da API Recommender, consulte Como usar a API - Recomendações.
Para visualizar insights de tabela usando a CLI gcloud, use o
comando gcloud recommender insights list
:
gcloud recommender insights list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --insight-type=google.bigquery.table.StatsInsight \ --format=FORMAT_TYPE \
Substitua:
PROJECT_NAME
: o nome do projeto que contém sua tabela do BigQuery.REGION_NAME
: a região em que o projeto está.FORMAT_TYPE
: um formato de saída da CLI gcloud com suporte. Por exemplo, JSON
Propriedade | Relevante para o subtipo | Descrição |
---|---|---|
content.existingPartitionColumn |
Cluster | Coluna de particionamento atual, se houver |
content.tableSizeTb |
Tudo | Tamanho da tabela em terabytes |
content.bytesReadMonthly |
Tudo | Bytes mensais lidos na tabela |
content.slotMsConsumedMonthly |
Tudo | Milissegundos mensais de slot consumidos pela carga de trabalho em execução na tabela |
content.queryJobsCountMonthly |
Tudo | Contagem mensal de jobs em execução na tabela |
- Para saber mais sobre outros campos na resposta de insights, consulte Recurso REST:
projects.locations.insightTypes.insights
. - Para mais informações sobre o uso de insights, consulte Como usar a API - Insights.
API REST
Para ver as recomendações de partição ou cluster para um projeto específico, use a API REST. Com cada comando, é necessário fornecer um token de autenticação, que é possível receber usando a CLI gcloud. Para mais informações sobre como receber um token de autenticação, consulte Métodos para receber um token de ID.
Use a solicitação curl list
para ver todas as recomendações de um
projeto específico:
curl -H "Authorization: Bearer $GCLOUD_AUTH_TOKEN" -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/my-project/locations/us/recommenders/google.bigquery.table.PartitionClusterRecommender/recommendations
Substitua:
GCLOUD_AUTH_TOKEN
: o nome de um token de acesso válido da CLI do gcloudPROJECT_NAME
: o nome do projeto que contém a tabela do BigQuery
Propriedade | Relevante para o subtipo | Descrição |
---|---|---|
recommenderSubtype |
Partição ou cluster | Indica o tipo de recomendação. |
content.overview.partitionColumn |
Partição | Nome da coluna de particionamento recomendado. |
content.overview.partitionTimeUnit |
Partição | Unidade de tempo de particionamento recomendada. Por exemplo, DAY significa que a
recomendação é ter partições diárias na coluna recomendada. |
content.overview.clusterColumns |
Cluster | Nomes das colunas de clustering recomendados. |
- Para saber mais sobre outros campos na resposta do recomendador, consulte Recurso REST:
projects.locations.recommendersrecommendation
. - Para mais informações sobre o uso da API Recommender, consulte Como usar a API - Recomendações.
Para visualizar os insights da tabela usando a API REST, execute o seguinte comando:
curl -H "Authorization: Bearer $GCLOUD_AUTH_TOKEN" -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/my-project/locations/us/insightTypes/google.bigquery.table.StatsInsight/insights
Substitua:
GCLOUD_AUTH_TOKEN
: o nome de um token de acesso válido da CLI do gcloudPROJECT_NAME
: o nome do projeto que contém a tabela do BigQuery
Propriedade | Relevante para o subtipo | Descrição |
---|---|---|
content.existingPartitionColumn |
Cluster | Coluna de particionamento atual, se houver |
content.tableSizeTb |
Tudo | Tamanho da tabela em terabytes |
content.bytesReadMonthly |
Tudo | Bytes mensais lidos na tabela |
content.slotMsConsumedMonthly |
Tudo | Milissegundos mensais de slot consumidos pela carga de trabalho em execução na tabela |
content.queryJobsCountMonthly |
Tudo | Contagem mensal de jobs em execução na tabela |
- Para saber mais sobre outros campos na resposta de insights, consulte Recurso REST:
projects.locations.insightTypes.insights
. - Para mais informações sobre o uso de insights, consulte Como usar a API - Insights.
Solução de problemas
Problema: nenhuma recomendação é exibida para uma tabela específica.
As recomendações de particionamento e cluster podem não aparecer nas seguintes circunstâncias:
- A tabela tiver menos de 10 GB;
- A tabela tem um alto custo de gravação de operações de linguagem de manipulação de dados (DML, na sigla em inglês).
- A tabela não foi lida nos últimos 30 dias.
- A economia mensal estimada é muito insignificante (menos de 1 hora de slot de economia).
- A tabela já está em cluster.
Preços
Não há custo ou impacto negativo no desempenho da carga de trabalho quando você visualiza recomendações.