Validador de SQL de integración continua

El validador de SQL de integración continua (CI) verifica que las dimensiones de tus Exploraciones se ejecuten correctamente en tu base de datos. Para ello, el validador de SQL ejecuta una serie de consultas en las exploraciones de tu proyecto de LookML.

De forma predeterminada, el validador de SQL realiza las siguientes tareas:

  1. Para cada exploración de tu proyecto, el validador de SQL ejecuta una consulta de exploración que incluye todas las dimensiones de la exploración.
  2. Si Looker muestra un error para la consulta de Explorar, el validador de SQL ejecutará una consulta de Explorar independiente para cada dimensión de la función.

Si no quieres que el validador de SQL pruebe todas las dimensiones en cada Explorar, puedes realizar una o más de las siguientes acciones de forma opcional:

Consulta la sección Opciones de SQL Validator de esta página para obtener detalles sobre las opciones que puedes configurar cuando creas o editas un paquete de CI. Para obtener información sobre cómo ejecutar SQL Validator, consulta la página de documentación Cómo ejecutar suites de integración continua.

En la página de resultados de la ejecución, el validador de SQL muestra cada error de SQL, categorizado por dimensión y Explorar, con un vínculo al modelo de LookML problemático y un vínculo Explorar desde aquí para depurar:

Página de resultados de la integración continua que muestra los resultados de SQL Validator

Consumo de recursos

El validador de SQL está diseñado para consumir la menor cantidad de recursos en Looker y en tu almacén de datos. Todas las consultas de SQL Validator incluyen una cláusula LIMIT 0 y WHERE 1=2. Estas cláusulas le indican de manera eficaz al planificador de consultas de tu almacén de datos que no procese los datos, sino que verifique la validez del SQL.

Por ejemplo, con BigQuery, este tipo de consulta es similar a ejecutar una prueba sin conexión en BigQuery. En BigQuery, las consultas LIMIT 0 no analizan datos, por lo que no se te debería cobrar por las consultas que ejecuta el validador de SQL.

Excluye dimensiones de la validación de SQL

Es posible que desees excluir ciertas dimensiones de la validación de SQL, como las que dependen de un parámetro, ya que el valor del parámetro será nulo durante la validación y siempre generará un error de SQL.

También te recomendamos que excluyas las dimensiones que no tienen un parámetro sql, como las dimensiones de type: distance, type: location o type: duration.

Para excluir una dimensión de la validación de SQL, puedes modificar su código LookML de una de las siguientes maneras:

  • Puedes agregar una sentencia ci: ignore en el parámetro tags de la definición de LookML de la dimensión, como se muestra en el siguiente ejemplo:

    dimension: addresses {
      sql: ${TABLE}.addresses ;;
      tags: ["ci: ignore"]
    }
    
  • Puedes agregar el comentario -- ci: ignore al campo sql del código LookML de tu dimensión, como se muestra en el siguiente ejemplo:

    dimension: addresses {
      sql:
        -- ci: ignore
        ${TABLE}.addresses ;;
    }
    

Opciones de SQL Validator

Puedes especificar varias opciones cuando creas o editas un paquete de integración continua para configurar cómo se ejecuta SQL Validator. Las opciones se describen en las siguientes secciones de esta página:

Explora para consultar

De forma predeterminada, el Validador de SQL ejecutará la validación de SQL en todos los modelos y exploraciones de tu proyecto de LookML.

Puedes usar el campo Exploraciones para consultar para especificar las exploraciones y los modelos que deseas incluir en la validación de SQL.

Puedes especificar Exploraciones en el siguiente formato: model_name/explore_name

Ten en cuenta lo siguiente:

  • Para model_name, usa el nombre del archivo del modelo sin la extensión .model.lkml. Por ejemplo, para especificar el modelo definido en thelook.model.lkml, debes ingresar thelook.
  • Para explore_name, usa el explore_name del parámetro explore de LookML. Por ejemplo, para especificar la exploración definida como explore: users en tu proyecto de LookML, debes ingresar users.
  • Puedes crear una lista separada por comas para especificar varias exploraciones.
  • Puedes usar el comodín * en model_name o explore_name.

Estos son algunos ejemplos:

  • Para especificar solo la exploración de Usuarios que se define con explore: users en el archivo thelook.model.lkml, debes ingresar lo siguiente:

    thelook/users
    
  • Para especificar las exploraciones denominadas users y orders en el archivo thelook.model.lkml, debes ingresar lo siguiente:

    thelook/users, thelook/orders
    
  • Para especificar todas las exploraciones en thelook.model.lkml, ingresa lo siguiente:

    thelook/*
    
  • Para especificar cada elemento Explorar llamado users en todos los modelos de tu proyecto, ingresa lo siguiente:

    */users
    

Exploraciones para excluir

De forma predeterminada, el Validador de SQL ejecutará la validación de SQL en todos los modelos y exploraciones de tu proyecto de LookML.

Puedes usar el campo Exploraciones para excluir para especificar las exploraciones y los modelos que deseas excluir de la validación de SQL.

Puedes especificar Exploraciones en el siguiente formato: model_name/explore_name

Consulta la sección Exploraciones para consultar para obtener más información sobre cómo especificar exploraciones para el validador de SQL.

Falta de miedo al fracaso

De forma predeterminada, el validador de SQL ejecuta una consulta por Explorar con todas las dimensiones de la consulta. Si esa consulta de Explorar falla, el validador de SQL realizará una consulta de Explorar para cada dimensión de la función de Explorar de forma individual.

Para una validación más rápida, puedes habilitar la opción Fail fast para que el validador de SQL ejecute solo la consulta inicial de una exploración, la que contiene todas las dimensiones a la vez. Si esa consulta muestra un error, el validador de SQL lo mostrará en los resultados de la ejecución de CI y pasará a la siguiente exploración que se validará.

Con Fail fast habilitado, la validación suele completarse más rápido. Sin embargo, los resultados del validador de SQL solo mostrarán el primer error de cada Explorar, incluso si varias dimensiones pueden tener errores. Esto significa que, después de corregir el primer error, la siguiente ejecución del validador de SQL puede mostrar un error adicional.

Ignorar elementos ocultos

Habilita el campo Ignorar oculto si deseas que el validador de SQL omita las dimensiones de LookML que tus desarrolladores de Looker definieron con hidden: yes. El validador de SQL dejará estas dimensiones fuera de sus consultas de Explorar durante la validación.

Simultaneidad de consultas

De forma predeterminada, el validador de SQL no ejecuta más de 10 consultas a la vez para evitar sobrecargar tu instancia de Looker. Puedes usar el campo Query concurrency para especificar una cantidad máxima diferente de consultas que el validador de SQL puede ejecutar de forma simultánea.

El valor máximo del campo Simultaneidad de consultas se limita al parámetro de configuración Cantidad máx. de consultas simultáneas para esta conexión en tu conexión de base de datos.

Si observas una ralentización en tu instancia de Looker mientras ejecutas la validación de SQL, puedes disminuir este valor.

Validación incremental

La validación incremental es un método para encontrar errores únicos de una rama de desarrollo específica, errores que aún no existen en producción. La validación incremental ayuda a los desarrolladores a encontrar y corregir los errores de los que son responsables sin distraerse por los errores existentes en el proyecto y también puede acelerar la validación, en especial para los proyectos de LookML que contienen muchas exploraciones.

Para la validación incremental, el validador de SQL solo ejecuta las consultas de Explorar que cambiaron entre una versión de desarrollo (la referencia base) y la versión de producción (la referencia de destino). El validador de SQL muestra solo los errores que son exclusivos de la versión de desarrollo, incluso si la versión de producción tiene errores.

En los resultados del validador, el validador de SQL indica cada elemento de Explorar que se omitió porque no tenía cambios en su SQL compilado en la rama o confirmación que se estaba validando. Consulta Cómo ver los resultados de la validación incremental para ver un ejemplo de los resultados de la validación incremental.

Para habilitar la validación incremental para el validador de SQL, habilita la casilla de verificación Solo errores incrementales en la sección Validador de SQL cuando crees o edites un paquete de integración continua.

Ten en cuenta lo siguiente para la validación incremental:

  • La configuración de validación incremental no se aplica cuando el validador de SQL valida la rama de producción, como en las ejecuciones manuales en la rama de producción. Cuando se valida la rama de producción, el validador de SQL ejecuta una validación completa.
  • El modo Fail fast no es compatible con las ejecuciones de validación incremental, ya que se requieren consultas de dimensiones individuales para exponer los errores incrementales específicos de una rama de desarrollo del proyecto.