Il validator SQL di integrazione continua (CI) verifica che le dimensioni nelle esplorazioni vengano eseguite correttamente nel database. A questo scopo, SQL Validator esegue una serie di query sulle esplorazioni nel progetto LookML.
Per impostazione predefinita, SQL Validator esegue le seguenti attività:
- Per ogni esplorazione nel progetto, SQL Validator esegue una query di esplorazione che include ogni dimensione nell'esplorazione.
- Se Looker restituisce un errore per la query di esplorazione, SQL Validator eseguirà una query di esplorazione separata per ogni dimensione nell'esplorazione.
Se non vuoi che SQL Validator verifichi ogni dimensione in ogni esplorazione, puoi facoltativamente eseguire una o più delle seguenti operazioni:
- Configura lo strumento di convalida SQL per eseguire query solo su determinate esplorazioni.
- Configura SQL Validator in modo da escludere determinate esplorazioni.
- Configura SQL Validator in modo che ignori le dimensioni LookML definite con
hidden: yes. - Aggiungi un commento o un tag
ci: ignoreal LookML di una dimensione per impedire a SQL Validator di includere la dimensione in una delle sue query di esplorazione.
Per informazioni dettagliate sulle opzioni che puoi configurare quando crei o modifichi una suite di CI, consulta la sezione Opzioni di SQL Validator di questa pagina. Per informazioni sull'esecuzione dello strumento di convalida SQL, consulta la pagina della documentazione Esecuzione di suite di integrazione continua.
Nella pagina dei risultati dell'esecuzione, SQL Validator mostra ogni errore SQL, classificato per dimensione ed esplorazione, con un link al LookML problematico e un link Esplora da qui per il debug:

Consumo di risorse
Il validator SQL è progettato per consumare il minor numero di risorse all'interno di Looker e del tuo data warehouse. Tutte le query di SQL Validator includono una clausola LIMIT 0 e WHERE 1=2. Queste clausole indicano in modo efficace al piano di query del tuo data warehouse di non elaborare i dati, ma di verificare la validità dell'SQL.
Con BigQuery, ad esempio, questo tipo di query è simile all'esecuzione di una query dry run in BigQuery. Per BigQuery, le query LIMIT 0 non analizzano i dati, quindi non dovrebbero essere addebitati costi per le query eseguite da SQL Validator.
Escludi le dimensioni dalla convalida SQL
Potresti voler escludere alcune dimensioni dalla convalida SQL, ad esempio quelle che dipendono da un parametro, poiché il valore del parametro sarà nullo durante la convalida e causerà sempre un errore SQL.
Potresti anche voler escludere le dimensioni che non hanno un parametro sql, ad esempio le dimensioni di type: distance, type: location o type: duration.
Per escludere una dimensione dalla convalida SQL, puoi modificare il LookML della dimensione in uno dei due modi seguenti:
Puoi aggiungere un'istruzione
ci: ignorenel parametrotagsdella definizione LookML della dimensione, come mostrato nell'esempio seguente:dimension: addresses { sql: ${TABLE}.addresses ;; tags: ["ci: ignore"] }Puoi aggiungere il commento
-- ci: ignoreal camposqldel LookML della dimensione, come mostrato nell'esempio seguente:dimension: addresses { sql: -- ci: ignore ${TABLE}.addresses ;; }
Integrazione continua e connessioni al database OAuth
Se il tuo progetto LookML utilizza una connessione al database configurata per OAuth, gli utenti account di servizio CI automatizzati non possono completare il flusso OAuth interattivo richiesto per l'autenticazione nel database. In questo modo, il validator SQL non riesce e genera un errore OAuth log in required.
Per utilizzare lo strumento di convalida SQL di integrazione continua, implementa una delle seguenti soluzioni alternative:
- Configura la connessione al database in modo che utilizzi un service account: modifica l'impostazione Autenticazione della connessione al database in modo che utilizzi un account di servizio (ad esempio Credenziali predefinite dell'applicazione) anziché OAuth.
- Utilizza un modello non OAuth per l'integrazione continua: crea un nuovo modello LookML che utilizza una connessione al database non OAuth e importa gli altri modelli al suo interno. Assicurati che l'utente Looker CI abbia accesso a questo nuovo modello.
Opzioni di SQL Validator
Puoi specificare diverse opzioni quando crei o modifichi una suite di integrazione continua per configurare l'esecuzione di SQL Validator. Le opzioni sono descritte nelle sezioni seguenti di questa pagina:
- Esplorazioni da sottoporre a query
- Esplorazioni da escludere
- Fail fast
- Ignora nascoste
- Concorrenza delle query
- Convalida incrementale
Esplorazioni da sottoporre a query
Per impostazione predefinita, SQL Validator esegue la convalida SQL su tutti i modelli ed Explore nel progetto LookML.
Puoi utilizzare il campo Esplorazioni da sottoporre a query per specificare le esplorazioni e i modelli da includere nella convalida SQL.
Puoi specificare le esplorazioni nel seguente formato: model_name/explore_name
Tieni presente quanto segue:
- Per
model_name, utilizza il nome del file del modello senza l'estensione.model.lkml. Ad esempio, per specificare il modello definito inthelook.model.lkml, devi inserirethelook. - Per
explore_name, utilizzaexplore_namedel parametro LookMLexplore. Ad esempio, per specificare l'esplorazione definita comeexplore: usersnel tuo progetto LookML, devi inserireusers. - Puoi creare un elenco separato da virgole per specificare più esplorazioni.
- Puoi utilizzare il carattere jolly
*inmodel_nameoexplore_name.
Ecco alcuni esempi:
Per specificare solo l'esplorazione Users definita con
explore: usersnel filethelook.model.lkml, inserisci quanto segue:thelook/usersPer specificare le esplorazioni denominate
userseordersnel filethelook.model.lkml, inserisci quanto segue:thelook/users, thelook/ordersPer specificare tutte le esplorazioni in
thelook.model.lkml, inserisci quanto segue:thelook/*Per specificare ogni esplorazione denominata
usersin tutti i modelli del progetto, inserisci quanto segue:*/users
Esplorazioni da escludere
Per impostazione predefinita, SQL Validator esegue la convalida SQL su tutti i modelli ed Explore nel progetto LookML.
Puoi utilizzare il campo Esplorazioni da escludere per specificare le esplorazioni e i modelli che vuoi escludere dalla convalida SQL.
Puoi specificare le esplorazioni nel seguente formato: model_name/explore_name
Per saperne di più su come specificare le esplorazioni per SQL Validator, consulta la sezione Esplorazioni da sottoporre a query.
Fail-fast
Per impostazione predefinita, lo strumento di convalida SQL esegue una query per esplorazione con tutte le dimensioni nella query. Se la query di esplorazione non va a buon fine, SQL Validator eseguirà una query di esplorazione per ogni dimensione dell'esplorazione singolarmente.
Per una convalida più rapida, puoi attivare l'opzione Fail fast in modo che SQL Validator esegua solo la query iniziale per un'esplorazione, ovvero la query che contiene tutte le dimensioni contemporaneamente. Se la query restituisce un errore, SQL Validator lo visualizzerà nei risultati dell'esecuzione CI e passerà all'esplorazione successiva in fase di convalida.
Con l'opzione Fail fast attivata, la convalida viene in genere completata più rapidamente. Tuttavia, i risultati di SQL Validator mostreranno solo il primo errore per ogni esplorazione, anche se più dimensioni potrebbero presentare errori. Ciò significa che, dopo aver corretto il primo errore, la successiva esecuzione del validator SQL potrebbe mostrare un altro errore.
Ignora nascoste
Attiva il campo Ignora nascosti se vuoi che SQL Validator ignori le dimensioni LookML definite dagli sviluppatori di Looker con hidden: yes. Lo strumento di convalida SQL escluderà queste dimensioni dalle query di Esplora durante la convalida.
Concorrenza delle query
Per impostazione predefinita, lo strumento di convalida SQL esegue non più di 10 query alla volta per evitare di sovraccaricare l'istanza di Looker. Puoi utilizzare il campo Concorrenza delle query per specificare un numero massimo diverso di query che lo strumento SQL Validator può eseguire contemporaneamente.
Il valore massimo per il campo Concorrenza delle query è limitato all'impostazione Numero massimo di query contemporanee per questa connessione della connessione al database.
Se noti un rallentamento nell'istanza di Looker durante l'esecuzione della convalida SQL, puoi diminuire questo valore.
Convalida incrementale
La convalida incrementale è un metodo per individuare errori unici per un branch di sviluppo specifico, errori che non esistono già in produzione. La convalida incrementale aiuta gli sviluppatori a trovare e correggere gli errori di cui sono responsabili senza essere distratti dagli errori esistenti nel progetto e può anche velocizzare la convalida, in particolare per i progetti LookML che contengono molte esplorazioni.
Per la convalida incrementale, lo strumento di convalida SQL esegue solo le query di esplorazione che sono cambiate tra una versione di sviluppo (il riferimento di base) e la versione di produzione (il riferimento di destinazione). Il Validator SQL restituisce solo gli errori unici della versione di sviluppo, anche se la versione di produzione stessa presenta errori.
Nei risultati del validator, SQL Validator indica ogni esplorazione che è stata ignorata perché non sono state apportate modifiche al relativo SQL compilato nel branch o nel commit in fase di convalida. Consulta Visualizzazione dei risultati della convalida incrementale per un esempio di risultati della convalida incrementale.
Puoi attivare la convalida incrementale per lo strumento di convalida SQL selezionando la casella di controllo Solo errori incrementali nella sezione Strumento di convalida SQL quando crei o modifichi una suite di integrazione continua.
Tieni presente quanto segue per la convalida incrementale:
- L'impostazione di convalida incrementale non si applica alla convalida del branch di produzione stesso, ad esempio con esecuzioni manuali nel branch di produzione. Quando convalida il branch di produzione, lo strumento di convalida SQL esegue una convalida completa.
- La modalità Fail fast non è supportata per le esecuzioni di convalida incrementale, poiché sono necessarie query sulle singole dimensioni per esporre gli errori incrementali specifici di un branch di sviluppo del progetto.