Utilizzare il runtime avanzato di BigQuery

Questo documento descrive come attivare e disattivare il runtime avanzato di BigQuery e come valutare i relativi effetti sul rendimento delle query.

Il runtime avanzato fornisce all'elaboratore delle query di BigQuery la vetorizzazione avanzata. La vettorizzazione avanzata espande l'esecuzione delle query vettorizzate applicandola ad aspetti chiave dell'elaborazione delle query, come la valutazione dei filtri nello spazio di archiviazione BigQuery, le codifiche dei dati specializzate e le tecniche di ottimizzazione.

Ruoli e autorizzazioni

Per ottenere le autorizzazioni necessarie per specificare un'impostazione di configurazione, chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin) nel progetto . Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Attiva il runtime avanzato

Per attivare il runtime avanzato per il progetto, utilizza l'istruzione ALTER PROJECT per modificare la configurazione predefinita. Nell'istruzione, imposta l'argomento query_runtime su 'advanced'. Ad esempio:

ALTER PROJECT PROJECT_NAME
SET OPTIONS (
  `region-LOCATION.query_runtime` = 'advanced'
);

Sostituisci quanto segue:

  • PROJECT_NAME: il nome del progetto
  • LOCATION: la posizione del progetto

Potrebbero essere necessari diversi minuti prima che la modifica venga applicata.

Una volta attivato il runtime avanzato, le query idonee nel progetto useranno il runtime avanzato indipendentemente dall'utente che ha creato il job di query.

Disattivare il runtime avanzato

Per disattivare il runtime avanzato per il progetto, utilizza l'istruzione ALTER PROJECT per modificare la configurazione predefinita. Nell'istruzione, imposta l'argomento query_runtime su NULL. Ad esempio:

ALTER PROJECT PROJECT_NAME
SET OPTIONS (
  `region-LOCATION.query_runtime` = NULL
);

Sostituisci quanto segue:

  • PROJECT_NAME: il nome del progetto
  • LOCATION: la posizione del progetto

Potrebbero essere necessari diversi minuti prima che la modifica venga applicata.

Valutare il rendimento delle query

Puoi utilizzare lo esploratore dei job amministrativi e le visualizzazioni INFORMATION_SCHEMA per valutare l'effetto del runtime avanzato sul tempo di esecuzione delle query e sull'utilizzo degli slot.

Per valutare il rendimento delle query con e senza l'esecuzione dinamica avanzata abilitata:

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

    Vai a BigQuery

  2. Apri una nuova scheda nell'editor di query.

  3. Disattiva l'utilizzo dei risultati delle query memorizzati nella cache per la scheda della query in questione.

  4. Digita o copia le query di test nella scheda Query.

  5. Esegui le query di test alcune volte per stabilire il rendimento di riferimento. Dopo ogni esecuzione, determina le metriche sul rendimento delle query come segue:

    1. Visualizza i dettagli di esecuzione della query nell'esploratore dei job amministrativi.
    2. Recupera i dati sul rendimento dei job dalla visualizzazione INFORMATION_SCHEMA.JOBS_BY_USER eseguendo la seguente query in una nuova scheda di query:

      SELECT
          job_id,
          end_time - start_time AS duration,
          total_slot_ms,
          query
      FROM
        `region-us`.INFORMATION_SCHEMA.JOBS_BY_USER
      WHERE
          creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
          AND job_type='QUERY'
          AND total_slot_ms IS NOT NULL
      ORDER BY
          creation_time DESC,
          query ASC
      LIMIT 1000;
      
  6. Attiva il runtime avanzato.

  7. Ripeti il passaggio 5.

  8. Confronta le metriche relative alla latenza delle query e all'utilizzo degli slot per le query di test prima e dopo l'attivazione del runtime avanzato.