Looker 4.0 presentó una nueva sintaxis de LookML que mejoró el LookML original de estilo YAML con una sintaxis familiar, pero más fácil, y un IDE rico y de ayuda para facilitar el desarrollo de LookML. A partir de Looker 4.4, todos los proyectos de LookML nuevos se deben crear en el nuevo LookML. Sin embargo, es posible que algunos proyectos que se crearon antes de la conversión sigan modelados en LookML de YAML (anterior).
Looker proporciona una forma automatizada de convertir un proyecto de LookML de YAML al nuevo LookML. En esta página, se explica cómo realizar ese proceso. Cada proyecto de LookML se debe convertir de forma individual, y los desarrolladores deben preparar y coordinar los esfuerzos, así que asegúrate de leer toda esta página antes de convertir un proyecto.
Prepárate para la conversión
Solo un desarrollador de LookML debe realizar la tarea de convertir un proyecto de LookML de YAML al nuevo LookML. La conversión se realiza en el modo de desarrollo de ese desarrollador y los cambios se confirman y, luego, se implementan como cualquier cambio de LookML normal.
Dicho esto, el proceso requiere la cooperación de todos los desarrolladores de LookML. Debido a que la conversión altera, en esencia, cada línea de LookML, es importante asegurarse de que otros desarrolladores de LookML hayan confirmado e implementado todos sus cambios en el proyecto antes de que comience el proceso de conversión. De lo contrario, es posible que se produzcan algunos conflictos de combinación de Git muy desagradables.
Aunque el proceso de conversión está automatizado, el nuevo LookML es mucho más exhaustivo en cuanto a la comprobación de errores que el LookML de YAML. Esto significa que, después de la conversión, es posible que aparezcan errores que no se habían mostrado antes. Resolver estos errores mejorará la calidad del proyecto. La cantidad de errores variará de un proyecto a otro, lo que significa que corregirlos podría demorar entre unos minutos y unas horas. De cualquier manera, todos los desarrolladores de LookML deben mantener en pausa el desarrollo del proyecto hasta que se corrijan los errores.
Cómo encontrar proyectos YAML en tu instancia de Looker
Para ver los proyectos YAML en tu instancia de Looker, sigue estos pasos:
- En el menú Develop, selecciona la opción Manage LookML Projects o Projects (la opción es ligeramente diferente según el lugar desde el que accedas al menú Develop).
-
En la página Proyectos de LookML, busca la etiqueta YAML LookML en la fila de la tabla de un proyecto:
SUGERENCIA: Puedes seleccionar el nombre del proyecto en la tabla para navegar a su LookML.
Coordina con los desarrolladores antes de realizar la conversión
Para prepararte para la conversión al nuevo LookML, sigue estos pasos:
- Elige uno de los desarrolladores de LookML para ejecutar el proceso de conversión.
- Ejecuta el validador de LookML para asegurarte de que el proyecto no tenga errores. Corrige todos los errores y, luego, confirma y, luego, confirma y, luego, implementa los cambios antes de continuar con el siguiente paso.
- Designa un horario para realizar la conversión.
- Comunica a todos los demás desarrolladores de LookML que deben tener todos los cambios en los que están trabajando confirmados y, luego, implementados a la hora designada. Es decir, todas las copias del proyecto en modo de desarrollo deben estar en el estado de Git Actualizado con Producción.
- Comunica a todos los demás desarrolladores de LookML que no deben realizar, confirmar ni implementar ningún cambio hasta que se complete la conversión.
Convertir a nuevo LookML
Para realizar la conversión al nuevo LookML, ejecuta el convertidor:
- Ingresa al modo de desarrollador.
- Abre el proyecto que se convertirá.
- Asegúrate de que el estado de Git en la esquina superior izquierda muestre Up to Date con Production.
- Ejecuta el validador de LookML para asegurarte de que no haya errores en el proyecto. El resultado debería ser No LookML Issues. (Para ejecutar el validador de LookML, selecciona el botón Validate LookML en la parte superior derecha del IDE de Looker o selecciona el ícono Project Health en la parte superior del IDE para abrir el panel Project Health y, luego, selecciona Validate LookML).
-
Para convertir el proyecto de LookML de YAML al nuevo LookML, haz lo siguiente:
-
Selecciona el ícono Git Actions en la barra lateral de navegación del IDE de Looker.
-
Como alternativa, selecciona el ícono Project Health en la parte superior del IDE:
-
Como alternativa, selecciona el ícono Project Health en la parte superior del IDE:
- Selecciona la opción Convertir el proyecto al nuevo LookML en el panel Acciones de Git o en la parte inferior del panel Estado del proyecto.
- Selecciona el botón Convertir a LookML nuevo en el diálogo de confirmación.
-
Selecciona el ícono Git Actions en la barra lateral de navegación del IDE de Looker.
Valida el nuevo LookML
Cuando el convertidor termine de ejecutarse, el IDE indicará que tus archivos cambiaron con un punto junto a cada nombre de archivo:
Para validar el nuevo LookML, sigue estos pasos:
- Selecciona el botón Validar LookML para ejecutar el validador de LookML. Si no hay errores, puedes avanzar a la sección Confirma y, luego, implementa el nuevo modelo de LookML de esta página.
- Es posible que veas errores donde antes no había ninguno. Como se mencionó anteriormente, la nueva versión de LookML es más exhaustiva a la hora de verificar si hay errores que la versión de YAML. Revisa y corrige los errores. Si no puedes resolverlos, consulta la sección Cómo resolver errores al final de esta página.
Confirma y, luego, implementa el nuevo LookML
En este punto, confirma y, luego, implementa como lo harías con cualquier cambio de LookML normal. Ten en cuenta que esta confirmación activará una reconstrucción de tus tablas derivadas persistentes (PDT). Una vez que se implemente la confirmación, informa a todos los demás desarrolladores de LookML que se realizó la conversión y que las consultas que dependen de los PDT pueden tardar un poco más de lo habitual en ejecutarse, al menos hasta que se vuelva a compilar todo. Los desarrolladores pueden extraer de producción en su modo de desarrollo para incorporar los cambios y, luego, continuar con el desarrollo, ahora con una sintaxis de LookML mejorada y más intuitiva, y un IDE mucho más útil y potente.
Cómo resolver errores
Como resultado de la validación de modelos más exhaustiva de la nueva versión de LookML, es posible que veas errores después de la conversión que no aparecían antes. Además, la verificación de errores ad hoc de la nueva versión de LookML requiere un poco más de información en algunos casos. El convertidor intenta resolverlo por ti, pero en algunos casos es posible que debas agregar una línea include
adicional en uno o dos archivos de vista.
Referencias de campos no válidas
En algunos contextos, LookML de YAML (anterior) no garantiza que los campos o conjuntos a los que haces referencia se definan en alguna parte del modelo. Es probable que esto aparezca en las listas y los conjuntos de campos de desglose.
Por ejemplo, si tu LookML anterior incluía drill_fields: [id, name, email]
, pero en algún momento del desarrollo de tu modelo quitaste el campo name
en favor de los campos first_name
y last_name
, YAML LookML no te habría advertido que estabas haciendo referencia a un campo (name
) en esta lista de campos de desglose que no existe. Esto también puede ocurrir si haces referencia a un campo en un grupo de dimensiones y tu LookML de YAML no especificó el campo de la misma manera que lo hace el nuevo LookML.
Por otro lado, la nueva versión de LookML mostrará estos tipos de errores. Por lo tanto, después de convertir tu proyecto y ejecutar el Validador de LookML, es posible que veas errores sobre referencias de campos no válidas que nunca antes viste. Corregir estos errores mejorará la calidad general de tu modelo.
Faltan inclusiones en los archivos de vista
En algunos casos, la verificación de errores ad hoc de la nueva versión de LookML requiere un poco más de contexto que el necesario en la versión de LookML de YAML. Específicamente, es posible que debas colocar una línea include
en algunos archivos de vista, lo que suele ocurrir cuando una vista extiende otra.
Cuando no haya ambigüedades sobre qué archivo se debe incluir en una vista, el convertidor agregará automáticamente la declaración include
adecuada en el nuevo archivo de vista de LookML, y no verás ningún error.
Sin embargo, en algunos casos (como con proyectos que contienen varios modelos), puede haber dos o más vistas con el mismo nombre declarado en archivos de vista separados. El convertidor no podrá determinar cuál es la correcta para incluir, por lo que agregará un comentario en la parte superior del nuevo archivo LookML para indicar que solo se debe incluir una de esas vistas. Para resolver el error resultante, ve al archivo de vista y quita el comentario de la sugerencia correcta.
Exploraciones de extension_required
sin conexión
Al igual que el problema de referencias de campo no válidas que se describió anteriormente, en la nueva versión de LookML, el Validador de LookML te alertará sobre las Exploraciones que se declaran con extension: required
, pero que en realidad no se extienden. Para resolver este error, vuelve a conectar estos Explorar a sus objetos extendidos o, si no se usan, quítalos.
Control de versión
Debido a que el proceso de conversión de LookML reemplaza tu vista .lookml
y los archivos de modelo con versiones .lkml
, si uno o más desarrolladores confirman tu proyecto durante la conversión, terminarás en medio de un conflicto de combinación.
Por este motivo, es muy importante que solo un desarrollador ejecute el convertidor y se debe coordinar para asegurarse de que las copias del modo de desarrollo de todos estén limpias y actualizadas antes de comenzar el proceso de conversión.
Para evitar problemas de control de versión, se debe inmovilizar el código durante la conversión. Los demás desarrolladores no deben confirmar cambios durante el tiempo bloqueado para la conversión.
Si el desarrollador que ejecuta la conversión encuentra algún problema durante el proceso de conversión, pero antes de confirmar los cambios y enviarlos a producción, es posible que le resulte útil revertir a producción. Esta opción del menú desplegable (que se muestra en la sección Run the converter de esta página) deshace la conversión, lo que permite que el desarrollador reinicie el proceso.