Impostazioni amministratore - Query

La pagina Queries (Query) nella sezione Database del menu Admin (Amministrazione) elenca le informazioni sulle ultime 50 query che Looker ha inviato al tuo database. Per informazioni sulle query precedenti alle ultime 50, consulta la sezione Usage (Utilizzo) di Looker.

Informazioni di base sulle query

Colonna Definizione
Ora L'ora di inizio della query, visualizzata nel fuso orario dell'applicazione.
Stato Lo stato della query, che può includere:
  • Cache: Looker ha restituito i risultati dalla cache anziché eseguire una query duplicata sul database.
  • Complete (Completata): la query è stata completata correttamente.
  • Error (Errore): la query non è stata completata correttamente perché si è verificato un errore, i cui dettagli sono disponibili facendo clic sul pulsante Details (Dettagli).
  • Cancelled (Annullata): la query è stata annullata da Looker o dall'utente.
  • In attesa di PDT: la query deve attendere la creazione di una tabella derivata persistente prima di poter essere eseguita.
  • Building PDT (Creazione di PDT): è in corso la creazione di una tabella derivata persistente.
  • In coda: la query è in attesa di essere eseguita perché sono già in corso troppe query (le query possono essere limitate da Looker nella configurazione della connessione o nel database).
  • Running (In esecuzione): la query è in fase di esecuzione.
  • Sconosciuto: Looker non è riuscito a determinare cosa è successo con questa query.
Connessione La connessione Looker in cui è stata eseguita questa query.
Utente L'utente che ha eseguito questa query, se è possibile determinarlo. Alcune query non vengono eseguite da un utente specifico, ad esempio quando Looker crea una tabella derivata persistente o quando un utente sconosciuto accede a un Look pubblico.
Origine L'origine della query in Looker, ad esempio la pagina Esplora o SQL Runner. Se possibile, viene visualizzato anche un link al Look salvato o l'ID query insieme al nome del modello e dell'esplorazione. Alcune query non hanno informazioni aggiuntive, ad esempio quelle eseguite in SQL Runner. Le query emesse dall'interfaccia SQL aperta hanno un valore Source (Origine) di Sql_interface.
Runtime Il tempo impiegato per eseguire la query. Include la creazione della query, il tempo trascorso nella coda, il transito da e verso il database e l'esecuzione della query nel database.

Se la query è in esecuzione, il runtime mostra da quanto tempo è in esecuzione. Per le query eseguite in precedenza, il runtime mostra anche una stima del tempo necessario per completare l'esecuzione della query. La stima si basa sulla durata dell'ultima esecuzione della query e indica, ad esempio, "circa 2 secondi".
Pulsante Dettagli Per ulteriori dettagli, consulta la sottosezione Il pulsante Dettagli in questa pagina.

Il pulsante Dettagli

Se fai clic sul pulsante Details (Dettagli) a destra di una query, vengono visualizzate informazioni aggiuntive sulla query. Il menu Query Details (Dettagli query) include:

  • Una sezione Info (Informazioni) che include i dettagli della query (vedi la tabella seguente).
  • Una sezione SQL che mostra il codice SQL non elaborato eseguito sul database. I commenti di contesto non vengono visualizzati nelle informazioni Query Details (Dettagli query). Per evitare che i commenti influiscano sulla memorizzazione nella cache delle query, Looker aggiunge i commenti di contesto ai comandi SQL in uscita, appena prima di inviare il codice SQL al database.
  • Una sezione SQL Interface query (Query dell'interfaccia SQL) che viene visualizzata quando una query è stata emessa tramite l'interfaccia SQL aperta. Questa sezione mostra la query SQL inviata a Looker dallo strumento di BI esterno e può aiutare a risolvere i problemi e a riprodurli.
  • Un link Open in SQL Runner (Apri in SQL Runner) che apre la query in SQL Runner.

La sezione Info (Informazioni) include le seguenti informazioni:

Sezione Definizione
ID cronologia L'ID cronologia della query, se disponibile.
Stato Lo stato della query, come descritto nella tabella delle informazioni di base sulle query.
Messaggio Se la query contiene una PDT, in questo campo viene visualizzato il commento di generazione della PDT. Se la query non contiene una PDT, il campo non viene visualizzato.
Connessione La connessione Looker in cui è stata eseguita questa query.
Utente L'utente che ha eseguito questa query, se è possibile determinarlo. Alcune query non vengono eseguite da un utente specifico, ad esempio quando Looker crea una tabella derivata persistente o quando un utente sconosciuto accede a un Look pubblico.
Origine L'origine della query in Looker, ad esempio la pagina Esplora o SQL Runner. Se possibile, vengono visualizzate informazioni aggiuntive, ad esempio un link al Look salvato, l'ID query, il nome del modello, il nome dell'esplorazione o i campi selezionati.
Ora di inizio L'ora di inizio della query, visualizzata nel fuso orario dell'applicazione.
Ora di fine L'ora di fine della query, visualizzata nel fuso orario dell'applicazione.
Runtime Il tempo impiegato per eseguire la query.

Interruzione delle query

Per i dialetti che supportano l'interruzione delle query, Looker può interrompere una query in esecuzione in due modi:

  • Looker interrompe automaticamente una query se l'utente chiude la scheda del browser in cui è in esecuzione.
  • Gli amministratori di Looker possono interrompere una query in esecuzione dalla pagina di amministrazione Queries (Query) facendo clic sul pulsante Stop (Interrompi) per la query. (Gli utenti con l'autorizzazione see_queries permission possono visualizzare la pagina Queries (Query), ma solo gli amministratori di Looker possono interrompere una query in esecuzione.)

Affinché Looker possa interrompere le query, chiudendo la scheda del browser in cui è in esecuzione una query o interrompendo la query nella pagina Queries (Query), il dialetto del database deve supportare l'interruzione delle query. La tabella seguente mostra i dialetti che supportano l'interruzione delle query nell'ultima release di Looker:

Dialetto Supportata?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Timeout e accodamento delle query

Looker interrompe le query che sono in coda da troppo tempo. Questa operazione è chiamata timeout. Alla query possono essere applicati diversi timeout:

  • Timeout del pool di connessioni e numero massimo di query simultanee: per evitare di sovraccaricare il database con query simultanee, Looker mantiene le query simultanee in eccesso nella coda delle query di Looker e interrompe le query che rimangono in coda troppo a lungo. Per impostazione predefinita, sono consentite 75 query simultanee per connessione. Le query aggiuntive oltre il limite di connessione andranno in timeout dopo 0 secondi. Per modificare questi valori predefiniti, configura le impostazioni Max connections (Connessioni massime), Max concurrent queries for this connection (Numero massimo di query simultanee per questa connessione) e Connection pool timeout (Timeout del pool di connessioni) nella pagina Connections Settings (Impostazioni connessioni) di una connessione.

  • Limite e timeout delle query per utente: per evitare che un singolo utente riempia la coda delle query di Looker, ogni utente ha un numero massimo di query simultanee consentite e un timeout della coda corrispondente per le query in coda a causa del limite di query simultanee. Il limite per utente si applica sia agli utenti che accedono a Looker utilizzando la normale procedura di autenticazione sia agli utenti che accedono utilizzando le credenziali utente API. Esistono due modi per definire il numero massimo di query simultanee per utente per le connessioni nell'istanza di Looker:

    Puoi modificare il limite di query per utente per una connessione utilizzando l'impostazione Max concurrent queries per user for this connection (Numero massimo di query simultanee per utente per questa connessione) nella pagina Connection Settings (Impostazioni connessione) della connessione. Se l'istanza di Looker è ospitata dal cliente, puoi modificare il numero massimo predefinito di query simultanee per utente configurando l'opzione di avvio --per-user-query-limit e puoi configurare il timeout della coda utilizzando l'opzione di avvio --per-user-query-timeoutstartup option.

    • L'opzione Max concurrent queries per user for this connection (Numero massimo di query simultanee per utente per questa connessione) in Connections Settings (Impostazioni connessioni) per una connessione. L'impostazione Max concurrent queries per user for this connection (Numero massimo di query simultanee per utente per questa connessione) ha un valore predefinito di 25 ed è per utente e per connessione, ma non per nodo. Ad esempio, se hai un cluster di 5 nodi e imposti questo valore su 15, ogni nodo consentirà 3 query simultanee per utente per questa connessione (15 / 5 = 3), per un totale di 15 query su tutti i nodi. Per una connessione, se viene fornito un valore per l'impostazione Max concurrent queries per user for this connection (Numero massimo di query simultanee per utente per questa connessione), questo valore sostituirà l'opzione di avvio per-user-query-limit per la connessione.
  • Limite e timeout delle query dello scheduler: per evitare di sovraccaricare il processo dello scheduler di Looker, un'istanza di Looker può eseguire un massimo di 10 query pianificate simultanee e il timeout per le query nella coda dello scheduler è di 1200 secondi. Se l'istanza di Looker è ospitata dal cliente, puoi modificare questi valori predefiniti configurando le --scheduler-query-limit e --scheduler-query-timeout opzioni di avvio.

  • Limite e timeout delle query del renderer: per evitare di sovraccaricare il processo del renderer di Looker, un'istanza di Looker può eseguire il rendering di un massimo di 2 download simultanei basati su immagini, ad esempio nei formati PDF e PNG. Se l'istanza di Looker è ospitata dal cliente, puoi modificare questo valore predefinito configurando l'opzione di avvio --concurrent-render-jobs startup option.

  • Timeout del webhook: Looker tenterà di distribuire i dati a un webhook per un massimo di 30 minuti. Se Looker non riesce a comunicare con la destinazione del webhook entro 30 minuti, la query andrà in timeout. Questo timeout non è configurabile.
    • Timeout del proxy: le istanze ospitate dal cliente spesso utilizzano proxy con un timeout predefinito di 60 secondi. Ti consigliamo di aumentare questo timeout a 60 minuti. Per ulteriori informazioni, consulta il post della community di Looker Esecuzione di Looker dietro un server proxy o un bilanciatore del carico.

    • Timeout del database: la maggior parte dei database ha regole per l'accodamento e i timeout indipendenti dalle code e dai timeout di Looker. Ad esempio, una query potrebbe aver lasciato la coda di Looker, ma può comunque essere in coda nel database. Per ulteriori informazioni sulla personalizzazione dei timeout delle query del database, consulta la documentazione del tuo database.