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
eeurope-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
Nella console Google Cloud, vai alla pagina BigQuery.
Per aprire la scheda dei consigli, fai clic su > Visualizza tutti i consigli.
ConsigliNella scheda Suggerimenti sono elencati tutti i suggerimenti disponibili per il tuo progetto.
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 colonnaexample_column
per risparmiare una quantità approssimativa di byte e slot.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:
PROJECT_NAME
: il nome del progetto che contiene la tabella BigQueryREGION_NAME
: la regione in cui si trova il progettoFORMAT_TYPE
: un formato di output dell'interfaccia a riga di comando gcloud supportato, ad esempio JSON
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 saperne di più sugli altri campi nella risposta del motore per suggerimenti, consulta Risorsa REST:
projects.locations.recommendersrecommendation
. - Per ulteriori informazioni sull'utilizzo dell'API Recommender, consulta Utilizzo dell'API - Suggerimenti.
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:
PROJECT_NAME
: il nome del progetto che contiene la tabella BigQueryREGION_NAME
: la regione in cui si trova il progettoFORMAT_TYPE
: un formato di output dell'interfaccia a riga di comando gcloud supportato, ad esempio JSON
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 |
- Per saperne di più sugli altri campi nella risposta degli insight, consulta Risorsa REST:
projects.locations.insightTypes.insights
. - Per saperne di più sull'utilizzo degli approfondimenti, consulta Utilizzo dell'API - Approfondimenti.
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 CLIdPROJECT_NAME
: il nome del progetto contenente la tabella BigQuery
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 saperne di più sugli altri campi nella risposta del motore per suggerimenti, consulta Risorsa REST:
projects.locations.recommendersrecommendation
. - Per ulteriori informazioni sull'utilizzo dell'API Recommender, consulta Utilizzo dell'API - Suggerimenti.
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 CLIdPROJECT_NAME
: il nome del progetto contenente la tabella BigQuery
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 |
- Per saperne di più sugli altri campi nella risposta degli insight, consulta Risorsa REST:
projects.locations.insightTypes.insights
. - Per saperne di più sull'utilizzo degli approfondimenti, consulta Utilizzo dell'API - Approfondimenti.
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.