O validador de SQL da integração contínua (CI) verifica se as dimensões nas suas análises são executadas corretamente no banco de dados. Para isso, o validador de SQL executa uma série de consultas nas análises do seu projeto do LookML.
Por padrão, o validador de SQL realiza as seguintes tarefas:
- Para cada análise no seu projeto, o validador de SQL executa uma consulta de análise que inclui todas as dimensões da análise.
- Se o Looker retornar um erro para a consulta de análise, o validador de SQL vai executar uma consulta de análise separada para cada dimensão da análise.
Se você não quiser que o validador de SQL teste todas as dimensões em cada análise, é possível fazer uma ou mais das seguintes ações:
- Configurar o validador de SQL para consultar apenas determinadas análises.
- Configurar o validador de SQL para excluir determinadas análises.
- Configurar o validador de SQL para ignorar as dimensões do LookML definidas com
hidden: yes. - Adicionar um
ci: ignorecomentário ou tag ao LookML de uma dimensão para impedir que o validador de SQL inclua a dimensão em qualquer uma das consultas de análise.
Consulte a seção Opções do validador de SQL desta página para detalhes sobre as opções que podem ser configuradas ao criar ou editar um CI IC. Para informações sobre como executar o validador de SQL, consulte a página de documentação Execução de conjuntos de testes de integração contínua.
Na página de resultados da execução, o validador de SQL mostra cada erro de SQL, categorizado por dimensão e análise, com um link para o LookML problemático e um link de análise daqui para depuração:

Consumo de recursos
O validador de SQL foi projetado para consumir o mínimo de recursos no Looker e no data warehouse. Todas as consultas do validador de SQL incluem uma cláusula LIMIT 0 e WHERE 1=2. Essas cláusulas instruem o planejador de consultas no data warehouse a não processar dados, mas a verificar a validade do SQL.
Com o BigQuery, por exemplo, esse tipo de consulta é semelhante à execução de uma consulta de simulação no BigQuery. Para o BigQuery, as consultas LIMIT 0 não verificam os dados. Portanto, não é necessário pagar pelas consultas executadas pelo validador de SQL.
Excluir dimensões da validação de SQL
Talvez você queira excluir determinadas dimensões da validação de SQL, como dimensões que dependem de um parâmetro, já que o valor do parâmetro será nulo durante a validação e sempre causará um erro de SQL.
Também é possível excluir dimensões que não têm um parâmetro sql, como dimensões de type: distance, type: location ou type: duration.
Para excluir uma dimensão da validação de SQL, modifique o LookML da dimensão de uma destas duas maneiras:
Adicione uma instrução
ci: ignoreno parâmetrotagsda definição do LookML da dimensão, conforme mostrado no exemplo a seguir:dimension: addresses { sql: ${TABLE}.addresses ;; tags: ["ci: ignore"] }Adicione o comentário
-- ci: ignoreao camposqldo LookML da dimensão, conforme mostrado no exemplo a seguir:dimension: addresses { sql: -- ci: ignore ${TABLE}.addresses ;; }
Opções do validador de SQL
É possível especificar várias opções ao criar ou editar um conjunto de testes de integração contínua para configurar como o validador de SQL é executado. As opções são descritas nas seções a seguir desta página:
- Análises para consulta
- Análises para exclusão
- Testagem intensiva
- Ignorar oculto
- Simultaneidade de consultas
- Validação incremental
Análises para consulta
Por padrão, o validador de SQL executa a validação de SQL em todos os modelos e análises no seu projeto do LookML.
É possível usar o campo Análises para consulta para especificar as análises e os modelos que você quer incluir na validação de SQL.
É possível especificar análises no seguinte formato: model_name/explore_name
Observe o seguinte:
- Para
model_name, use o nome do arquivo modelo sem a extensão.model.lkml. Por exemplo, para especificar o modelo definido emthelook.model.lkml, insirathelook. - Para
explore_name, use oexplore_namedo parâmetroexploredo LookML. Por exemplo, para especificar a análise definida comoexplore: usersno seu projeto do LookML, insirausers. - É possível criar uma lista separada por vírgulas para especificar várias análises.
- É possível usar o caractere curinga
*emmodel_nameouexplore_name.
Veja alguns exemplos:
Para especificar apenas a análise Users definida com
explore: usersno arquivothelook.model.lkml, insira o seguinte:thelook/usersPara especificar as análises chamadas
userseordersno arquivothelook.model.lkml, insira o seguinte:thelook/users, thelook/ordersPara especificar todas as análises em
thelook.model.lkml, insira o seguinte:thelook/*Para especificar todas as análises chamadas
usersem todos os modelos do seu projeto, insira o seguinte:*/users
Análises para exclusão
Por padrão, o validador de SQL executa a validação de SQL em todos os modelos e análises no seu projeto do LookML.
É possível usar o campo Análises para exclusão para especificar as análises e os modelos que você quer excluir da validação de SQL.
É possível especificar análises no seguinte formato: model_name/explore_name
Consulte a seção Análises para consulta para mais informações sobre como especificar análises para o validador de SQL.
Testagem intensiva
Por padrão, o validador de SQL executa uma consulta por análise com todas as dimensões na consulta. Se essa consulta de análise falhar, o validador de SQL vai fazer uma consulta de análise para cada dimensão da análise individualmente.
Para uma validação mais rápida, ative a opção Testagem intensiva para que o validador de SQL execute apenas a consulta inicial de uma análise, a consulta que contém todas as dimensões de uma vez. Se essa consulta retornar um erro, o validador de SQL vai mostrar esse erro nos resultados da execução da CI e passar para a próxima análise que está sendo validada.
Com a Testagem intensiva ativada, a validação geralmente é concluída mais rapidamente. No entanto, os resultados do validador de SQL vão mostrar apenas o primeiro erro de cada análise, mesmo que várias dimensões tenham erros. Isso significa que, depois de corrigir o primeiro erro, a próxima execução do validador de SQL poderá mostrar um erro adicional.
Ignorar oculto
Ative o campo Ignorar oculto se quiser que o validador de SQL ignore as dimensões do LookML que os desenvolvedores do Looker definiram com hidden: yes. O validador de SQL vai deixar essas dimensões fora das consultas de análise durante a validação.
Simultaneidade de consultas
Por padrão, o validador de SQL executa no máximo 10 consultas por vez para evitar sobrecarregar a instância do Looker. É possível usar o campo Simultaneidade de consultas para especificar um número máximo diferente de consultas que o validador de SQL pode executar simultaneamente.
O valor máximo do campo Simultaneidade de consultas é limitado à configuração Número máximo de consultas simultâneas para esta conexão na conexão do banco de dados.
Se você notar uma lentidão na instância do Looker ao executar a validação de SQL, diminua esse valor.
Validação incremental
A validação incremental é um método para encontrar erros exclusivos de uma ramificação de desenvolvimento específica, erros que ainda não existem em produção. A validação incremental ajuda os desenvolvedores a encontrar e corrigir os erros de que são responsáveis sem serem distraídos por erros existentes no projeto. Ela também pode acelerar a validação, especialmente para projetos do LookML que contêm muitas análises.
Para a validação incremental, o validador de SQL executa apenas as consultas de análise que foram alteradas entre uma versão de desenvolvimento (a referência de base) e a versão de produção (a referência de destino). O validador de SQL retorna apenas os erros exclusivos da versão de desenvolvimento, mesmo que a versão de produção tenha erros.
Nos resultados do validador, o validador de SQL indica cada análise que foi ignorada porque não houve mudanças no SQL compilado na ramificação ou confirmação que está sendo validada. Consulte Como visualizar resultados para validação incremental para um exemplo de resultados de validação incremental.
É possível ativar a validação incremental para o validador de SQL marcando a caixa de seleção Somente erros incrementais na seção Validador de SQL ao criar ou editar um conjunto de testes de integração contínua.
Observe o seguinte para a validação incremental:
- A configuração de validação incremental não se aplica quando o validador de SQL está validando a própria ramificação de produção, como acontece com as execuções manuais na ramificação de produção. Ao validar a ramificação de produção, o validador de SQL executa uma validação completa.
- O modo Testagem intensiva não é compatível com execuções de validação incremental, já que consultas de dimensões individuais são necessárias para expor os erros incrementais específicos de uma ramificação de desenvolvimento do projeto.