Condividi tramite


Profilo di query

È possibile usare un profilo di query per visualizzare i dettagli di un'esecuzione di query. Il profilo di query consente di risolvere i colli di bottiglia delle prestazioni durante l'esecuzione della query. Ad esempio:

  • È possibile visualizzare ogni attività di query e le relative metriche, ad esempio il tempo impiegato, il numero di righe elaborate, le righe elaborate e il consumo di memoria.
  • È possibile identificare la parte più lenta di un'esecuzione di query a colpo d'occhio e valutare l'impatto delle modifiche apportate alla query.
  • È possibile individuare e correggere errori comuni nelle istruzioni SQL, ad esempio join esplodere o analisi di tabelle complete.

Importante

Il tempo registrato nella cronologia delle query per una query SQL è solo il tempo trascorso dal warehouse SQL effettivamente in esecuzione della query. Non registra alcun sovraccarico aggiuntivo associato all'esecuzione della query, ad esempio accodamento interno o tempo aggiuntivo correlato al processo di caricamento e download dei dati.

Requisiti

Per visualizzare un profilo di query, è necessario essere il proprietario della query oppure disporre dell'autorizzazione CAN MANAGE per sql warehouse che ha eseguito la query.

Visualizzare un profilo di query

Dopo aver eseguito una query nell'editor SQL o in un notebook, è possibile aprire il profilo di query facendo clic sul tempo trascorso nella parte inferiore dell'output.

Aprire la cronologia delle query dall'output dell'editor o del notebook

È anche possibile visualizzare il profilo di query dalla cronologia delle query come indicato di seguito:

  1. Visualizzare la cronologia delle query.

  2. Fare clic sul nome di una query. Viene visualizzata una panoramica delle metriche di query.

    Visualizzazione semplice riepilogo esecuzione query

  3. Fare clic su Visualizza profilo di query.

    Nota

    Se il profilo di query non è disponibile , non è disponibile alcun profilo per questa query. Un profilo di query non è disponibile per le query eseguite dalla cache delle query. Per aggirare la cache delle query, apportare una modifica semplice alla query, ad esempio modificando o rimuovendo .LIMIT

  4. Per visualizzare il profilo di query nella visualizzazione grafico (impostazione predefinita), fare clic su Visualizzazione grafico. Per visualizzare il profilo di query come albero, fare clic su Visualizzazione albero.

    • La visualizzazione grafico è ottimizzata per la visualizzazione del flusso dei dati da un nodo a un altro.
    • La visualizzazione albero è ottimizzata per individuare rapidamente i problemi relativi alle prestazioni della query, ad esempio l'identificazione dell'operatore con esecuzione più lunga.
  5. Nella visualizzazione grafico o nella visualizzazione albero è possibile fare clic su una delle schede nella parte superiore della pagina per visualizzare i dettagli su ognuna delle attività della query.

    • Tempo impiegato: somma del tempo di esecuzione impiegato da tutte le attività per ogni operazione.
    • Righe: numero e dimensioni delle righe interessate da ognuna delle attività della query.
    • Memoria di picco: memoria massima utilizzata per ognuna delle attività della query.

    Nota

    Alcune operazioni non photon vengono eseguite come gruppo e condividono metriche comuni. In questo caso, tutte le sottoattività hanno lo stesso valore dell'attività padre per una determinata metrica.

  6. Nella visualizzazione grafico, se un'attività ha sottoattività, fare clic su un nodo per visualizzarne i dettagli. Nella visualizzazione albero è possibile fare clic > per espanderlo.

  7. Viene visualizzata l'operazione di ogni attività. Per impostazione predefinita, le attività e le metriche per alcune operazioni sono nascoste. È improbabile che queste operazioni siano la causa di colli di bottiglia delle prestazioni. Per visualizzare informazioni per tutte le operazioni e per visualizzare metriche aggiuntive, fare clic nella parte superiore della pagina, quindi fare clic Puntini di sospensione verticali su Abilita modalità dettagliata. Le operazioni più comuni sono:

    • Analisi: i dati sono stati letti da un'origine dati e un output come righe.
    • Join: le righe di più relazioni sono state combinate (interleaved) in un singolo set di righe.
    • Unione: le righe di più relazioni che usano lo stesso schema sono state concatenate in un singolo set di righe.
    • Shuffle: i dati sono stati ridistributi o ripartizionati. Le operazioni casuali sono costose per quanto riguarda le risorse perché spostano i dati tra executor nel cluster.
    • Hash/Ordinamento: le righe sono state raggruppate in base a una chiave e valutate usando una funzione di aggregazione, SUMad esempio , COUNTo MAX all'interno di ogni gruppo.
    • Filtro: l'input viene filtrato in base a un criterio, ad esempio in base a una WHERE clausola e viene restituito un subset di righe.
    • (Riutilizzato) Exchange: uno scambio casuale o broadcast viene usato per ridistribuire i dati tra i nodi del cluster in base al partizionamento desiderato.
    • Collect Limit(Limite raccolta): il numero di righe restituite è stato troncato tramite un'istruzione LIMIT .
    • Take Ordered And Project (Take Ordered And Project): vengono restituite le prime N righe del risultato della query.
  8. Per visualizzare il profilo di query nell'interfaccia utente di Apache Spark, fare clic nella parte superiore della pagina, quindi fare clic Puntini di sospensione verticali su Apri nell'interfaccia utente di Spark.

  9. Per chiudere il profilo di query importato, fare clic su X nella parte superiore della pagina.

Per altre informazioni sulle informazioni disponibili nel profilo di query, vedere Visualizzare i dettagli sul profilo di query.

Visualizzare i dettagli sul profilo di query

Il profilo di query elenca le attività di primo livello della query in ordine inverso, con l'ultima attività elencata per prima. A sinistra, tre colonne mostrano la sequenza di attività, il nome dell'operazione e un grafico della metrica selezionata per tale attività. Seguire questa procedura per acquisire familiarità con le diverse parti del profilo di query.

  1. Fare clic su Ora per visualizzare la durata di ogni sottoattività.
  2. Fare clic su Righe per visualizzare il numero e le dimensioni delle righe restituite dalla query.
  3. Fare clic su Memoria per visualizzare la memoria utilizzata da ogni attività di query. Se l'attività include sottoattività, è possibile fare clic > per visualizzare i dettagli su ogni sottoattività.
  4. A destra fare clic su Panoramica per visualizzare l'istruzione SQL della query, lo stato, l'ora di inizio e di fine, la durata, l'utente che ha eseguito la query e il warehouse in cui è stata eseguita la query.
  5. Fare clic su un'attività per visualizzare i dettagli sull'attività, ad esempio la descrizione e le metriche dell'attività relative alla durata dell'attività, alla memoria utilizzata, al numero e alle dimensioni delle righe restituite e alla derivazione.
  6. Per chiudere i dettagli della sottoattività, fare clic su X.
  7. Fare clic sul nome del warehouse SQL per passare alle proprietà del warehouse.
  8. Per visualizzare il profilo di query nell'interfaccia utente di Apache Spark, fare clic nella parte superiore della pagina, quindi fare clic Puntini di sospensione verticali su Apri nell'interfaccia utente di Spark.
  9. Per chiudere il profilo di query, fare clic su X nella parte superiore della pagina.

Condividere un profilo di query

Per condividere un profilo di query con un altro utente:

  1. Visualizzare la cronologia delle query.
  2. Fare clic sul nome della query.
  3. Per condividere la query, sono disponibili due opzioni:
    • Se l'altro utente dispone dell'autorizzazione CAN MANAGE per la query, è possibile condividere l'URL per il profilo di query con loro. Fare clic su Condividi. L'URL viene copiato negli Appunti.
    • In caso contrario, se l'altro utente non dispone dell'autorizzazione CAN MANAGE o non è membro dell'area di lavoro, è possibile scaricare il profilo di query come oggetto JSON. Scaricare Il file JSON viene scaricato nel sistema locale.

Importare un profilo di query

Per importare il codice JSON per un profilo di query:

  1. Visualizzare la cronologia delle query.

  2. Fare clic sul menu Puntini di sospensione verticali kebab in alto a destra e selezionare Importa profilo di query (JSON).

  3. Nel browser file selezionare il file JSON condiviso con l'utente e fare clic su Apri. Il file JSON viene caricato e viene visualizzato il profilo di query.

    Quando si importa un profilo di query, viene caricato dinamicamente nella sessione del browser e non viene mantenuto nell'area di lavoro. È necessario riimportarlo ogni volta che si vuole visualizzarlo.

  4. Per chiudere il profilo di query importato, fare clic su X nella parte superiore della pagina.

Passaggi successivi

  • Informazioni sull'accesso alle metriche di query tramite l'API della cronologia delle query
  • Altre informazioni sulla cronologia delle query