Validador de SQL de integración continua

El validador de SQL de la 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 exploración, el validador de SQL ejecutará una consulta de exploración independiente para cada dimensión de la exploración.

Si no quieres que el validador de SQL pruebe todas las dimensiones de cada exploración, puedes realizar una o más de las siguientes acciones:

Consulta la sección Opciones del validador de SQL de esta página para obtener detalles sobre las opciones que puedes configurar cuando creas o editas un conjunto de CI. Para obtener información sobre cómo ejecutar el validador de SQL, consulta la página de documentación Ejecuta conjuntos 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 exploración, con un vínculo al LookML problemático y un vínculo Explorar desde aquí para la depuración:

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

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 del validador de SQL incluyen una cláusula LIMIT 0 y WHERE 1=2. Estas cláusulas indican de manera efectiva al planificador de consultas de tu almacén de datos que no procese datos, sino que verifique la validez del SQL.

Con BigQuery, por ejemplo, este tipo de consulta es similar a ejecutar una consulta de prueba en BigQuery. En BigQuery, las consultas LIMIT 0 no analizan datos, por lo que no se te debe 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 dimensiones que dependen de un parámetro, ya que el valor del parámetro será nulo durante la validación y siempre causará un error de SQL.

También es posible que desees excluir 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 el LookML de la dimensión de una de las siguientes maneras:

  • Puedes agregar una instrucción 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 LookML de tu dimensión, como se muestra en el siguiente ejemplo:

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

Opciones del validador de SQL

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

Exploraciones 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 de modelo sin la extensión .model.lkml. Por ejemplo, para especificar el modelo definido en thelook.model.lkml, ingresarías 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, ingresarías 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 Usuarios que se define con explore: users en el archivo thelook.model.lkml, ingresarías lo siguiente:

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

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

    thelook/*
    
  • Para especificar todas las exploraciones llamadas users en todos los modelos de tu proyecto, ingresarías 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.

Falla rápido

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

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

Con la opción Falla rápido habilitada, la validación suele completarse más rápido. Sin embargo, los resultados del validador de SQL mostrarán solo el primer error de cada exploración, 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 oculto

Habilita el campo Ignorar oculto si quieres que el validador de SQL ignore 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 exploración 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 Simultaneidad de consultas para especificar una cantidad máxima diferente de consultas que el validador de SQL puede ejecutar de forma simultánea.

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

Si notas una disminució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 que son únicos en una rama de desarrollo específica, errores que aún no existen en la producción. La validación incremental ayuda a los desarrolladores a encontrar y corregir los errores de los que son responsables sin distraerse con 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 ejecuta solo las consultas de exploración 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 únicos en 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 exploración que se omitió porque no tenía cambios en su SQL compilado en la rama o la confirmación que se está validando. Consulta Visualiza 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 creas o editas un conjunto de integración continua.

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

  • El parámetro de configuración de validación incremental no se aplica cuando el validador de SQL valida la rama de producción en sí, como con 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 Falla rápido no es compatible con las ejecuciones de validación incremental, ya que se requieren consultas de dimensiones individuales para exponer los errores incrementales que son específicos de una rama de desarrollo del proyecto.