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
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 ver 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.
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.