Visualizza i suggerimenti per partizioni e cluster

Questo documento descrive il funzionamento del motore per suggerimenti di partizioni e cluster, nonché come visualizzare suggerimenti e insight.

Il motore per suggerimenti per il partizionamento e il clustering di BigQuery genera suggerimenti per la partizione o il cluster per ottimizzare le tabelle BigQuery. Il motore per suggerimenti analizza i flussi di lavoro sulle tabelle BigQuery e offre suggerimenti per ottimizzare meglio i flussi di lavoro e i costi delle query utilizzando il partizionamento delle tabelle o il clustering delle tabelle.

Per ulteriori informazioni, consulta la panoramica del motore per suggerimenti.

Come funziona il motore per suggerimenti

Per generare un suggerimento, il motore per suggerimenti di partizionamento e clustering utilizza i dati di esecuzione dei carichi di lavoro del progetto degli ultimi 30 giorni per analizzare ogni tabella BigQuery al fine di individuare configurazioni di partizionamento e clustering non ottimali. Il motore per suggerimenti utilizza anche il machine learning per prevedere quanto potrebbe essere ottimizzata l'esecuzione del carico di lavoro con diverse configurazioni di partizionamento o clustering. Se il motore per suggerimenti rileva che il partizionamento o il clustering di una tabella genera risparmi significativi, il motore per suggerimenti genera un suggerimento. Il motore per suggerimenti di partizionamento e clustering genera i seguenti tipi di suggerimenti:

Tipo di tabella esistente Sottotipo di consiglio Esempio di consiglio
Non partizionate, non in cluster Partizione "Risparmia circa 64 ore di slot al mese eseguendo il partizionamento in base a column_C entro DAY"
Non partizionate, non in cluster Cluster "Risparmia circa 64 ore di slot al mese eseguendo il clustering in base a column_C"
Partizionata, non in cluster Cluster "Risparmia circa 64 ore di slot al mese eseguendo il clustering in base a column_C"

Ciascun consiglio è costituito da tre parti:

  • Indicazioni per eseguire il partizionamento o il clustering di una tabella specifica
  • La colonna specifica di una tabella da partizionare o da assegnare al cluster
  • Risparmi mensili stimati grazie all'applicazione del consiglio

Per calcolare i potenziali risparmi sui carichi di lavoro, il motore per suggerimenti presuppone che i dati storici del carico di lavoro di esecuzione degli ultimi 30 giorni rappresentino il carico di lavoro futuro.

L'API motore per suggerimenti restituisce anche informazioni sui carichi di lavoro delle tabelle sotto forma di approfondimenti. Gli approfondimenti sono risultati che ti aiutano a comprendere il carico di lavoro del progetto e forniscono maggiore contesto su come un suggerimento per la partizione o il cluster potrebbe migliorare i costi del carico di lavoro.

Limitazioni

Il motore per suggerimenti di partizionamento e clustering esclude le query SQL precedente nella sua analisi.

Il motore per suggerimenti di partizionamento e clustering non supporta risorse archiviate nelle seguenti regioni:

  • europe-central2, europe-west8, europe-west9, europe-west12, europe-north1 e europe-southwest1
  • us-east1, us-east5, us-south1
  • me-central1, me-central2, me-west1
  • australia-southeast2
  • southamerica-west1

Prima di iniziare

Prima di poter visualizzare i suggerimenti su partizioni e cluster, devi abilitare l'API Recommender.

Autorizzazioni obbligatorie

Per ottenere le autorizzazioni necessarie per accedere ai suggerimenti relativi a partizioni e cluster, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore motore per suggerimenti di clustering e partizionamento BigQuery (roles/recommender.bigqueryPartitionClusterViewer). Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per accedere ai suggerimenti per partizioni e cluster. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per accedere ai suggerimenti per partizioni e cluster sono necessarie le seguenti autorizzazioni:

  • recommender.bigqueryPartitionClusterRecommendations.get
  • recommender.bigqueryPartitionClusterRecommendations.list

Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Introduzione a IAM.

Visualizza i suggerimenti

Questa sezione descrive come visualizzare suggerimenti e insight su partizioni e cluster utilizzando la console Google Cloud, Google Cloud CLI o l'API Recommender.

Seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Per aprire la scheda dei consigli, fai clic su Consigli > Visualizza tutti i consigli.

    Fai clic su Consigli per visualizzare tutti i consigli.

    Nella scheda Suggerimenti sono elencati tutti i suggerimenti disponibili per il tuo progetto.

  3. Nel riquadro Ottimizza il costo del carico di lavoro BigQuery, fai clic su Visualizza tutto.

    La tabella dei suggerimenti sui costi elenca tutti i suggerimenti generati per il progetto attuale. Ad esempio, nello screenshot seguente viene mostrato che il motore per suggerimenti ha analizzato la tabella example_table e poi ha consigliato il clustering della colonna example_column per risparmiare una quantità approssimativa di byte e slot.

    Tabella di suggerimenti con suggerimenti di partizionamento e clustering.

  4. Per ulteriori informazioni sugli insight e sui suggerimenti per la tabella, fai clic su un suggerimento.

gcloud

Per visualizzare i suggerimenti sulle partizioni o sui cluster per un progetto specifico, utilizza il comando gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --project=PROJECT_NAME \
    --location=REGION_NAME \
    --recommender=google.bigquery.table.PartitionClusterRecommender \
    --format=FORMAT_TYPE \

Sostituisci quanto segue:

La tabella seguente descrive i campi importanti della risposta dell'API per suggerimenti:

Proprietà Pertinenza del sottotipo Descrizione
recommenderSubtype Partizione o cluster Indica il tipo di suggerimento.
content.overview.partitionColumn Partizione Nome della colonna di partizionamento consigliato.
content.overview.partitionTimeUnit Partizione Unità di tempo di partizionamento consigliata. Ad esempio, DAY significa che è consigliabile inserire partizioni giornaliere nella colonna consigliata.
content.overview.clusterColumns Cluster Nomi di colonna consigliati per il clustering.

Per visualizzare gli insight sulla tabella utilizzando gcloud CLI, utilizza il comando gcloud recommender insights list:

gcloud recommender insights list \
    --project=PROJECT_NAME \
    --location=REGION_NAME \
    --insight-type=google.bigquery.table.StatsInsight \
    --format=FORMAT_TYPE \

Sostituisci quanto segue:

La tabella seguente descrive i campi importanti della risposta dell'API Insights:

Proprietà Pertinenza del sottotipo Descrizione
content.existingPartitionColumn Cluster Colonna di partizionamento esistente, se presente
content.tableSizeTb Tutti Dimensioni della tabella in terabyte
content.bytesReadMonthly Tutti Byte mensili letti dalla tabella
content.slotMsConsumedMonthly Tutti Millisecondi di slot mensili consumati dal carico di lavoro in esecuzione nella tabella
content.queryJobsCountMonthly Tutti Conteggio mensile dei job in esecuzione nella tabella

API REST

Per visualizzare i suggerimenti sulle partizioni o sui cluster per un progetto specifico, utilizza l'API REST. Con ogni comando, devi fornire un token di autenticazione, che puoi ottenere utilizzando gcloud CLI. Per saperne di più su come ottenere un token di autenticazione, consulta Metodi per ottenere un token ID.

Puoi utilizzare la richiesta curl list per visualizzare tutti i suggerimenti per un progetto specifico:

curl
    -H "Authorization: Bearer $GCLOUD_AUTH_TOKEN"
    -H "x-goog-user-project: PROJECT_NAME" http://recommender.googleapis.com/v1/projects/my-project/locations/us/recommenders/google.bigquery.table.PartitionClusterRecommender/recommendations

Sostituisci quanto segue:

  • GCLOUD_AUTH_TOKEN: nome di un token di accesso validogcloud CLId
  • PROJECT_NAME: il nome del progetto contenente la tabella BigQuery
La tabella seguente descrive i campi importanti della risposta dell'API per suggerimenti:

Proprietà Pertinenza del sottotipo Descrizione
recommenderSubtype Partizione o cluster Indica il tipo di suggerimento.
content.overview.partitionColumn Partizione Nome della colonna di partizionamento consigliato.
content.overview.partitionTimeUnit Partizione Unità di tempo di partizionamento consigliata. Ad esempio, DAY significa che è consigliabile inserire partizioni giornaliere nella colonna consigliata.
content.overview.clusterColumns Cluster Nomi di colonna consigliati per il clustering.

Per visualizzare gli insight sulla tabella utilizzando l'API REST, esegui questo comando:

curl
-H "Authorization: Bearer $GCLOUD_AUTH_TOKEN"
-H "x-goog-user-project: PROJECT_NAME" http://recommender.googleapis.com/v1/projects/my-project/locations/us/insightTypes/google.bigquery.table.StatsInsight/insights

Sostituisci quanto segue:

  • GCLOUD_AUTH_TOKEN: nome di un token di accesso validogcloud CLId
  • PROJECT_NAME: il nome del progetto contenente la tabella BigQuery
La tabella seguente descrive i campi importanti della risposta dell'API Insights:

Proprietà Pertinenza del sottotipo Descrizione
content.existingPartitionColumn Cluster Colonna di partizionamento esistente, se presente
content.tableSizeTb Tutti Dimensioni della tabella in terabyte
content.bytesReadMonthly Tutti Byte mensili letti dalla tabella
content.slotMsConsumedMonthly Tutti Millisecondi di slot mensili consumati dal carico di lavoro in esecuzione nella tabella
content.queryJobsCountMonthly Tutti Conteggio mensile dei job in esecuzione nella tabella

Risoluzione dei problemi

Problema: non viene visualizzato nessun consiglio per una tabella specifica.

I suggerimenti su partizioni e cluster potrebbero non essere visualizzati nelle seguenti circostanze:

  • La tabella è inferiore a 10 GB.
  • La tabella ha un costo elevato di scrittura derivante dalle operazioni DML (Data Manipulation Language).
  • La tabella non è stata letta negli ultimi 30 giorni.
  • I risparmi mensili stimati sono troppo insignificanti (risparmio meno di 1 ora slot).
  • La tabella è già in cluster.

Prezzi

Non sono previsti costi o effetti negativi sulle prestazioni dei carichi di lavoro quando visualizzi i suggerimenti.

Passaggi successivi