Looker 4.0 a introduit une nouvelle syntaxe LookML qui a amélioré le LookML d'origine de style YAML avec une syntaxe familière, mais plus simple, et un IDE riche et pratique pour faciliter le développement LookML. À partir de Looker 4.4, tous les nouveaux projets LookML doivent être créés en nouveau code LookML. Toutefois, certains projets créés avant la conversion peuvent toujours être modélisés en ancien code LookML (YAML).
Looker propose un moyen automatisé de convertir un projet LookML YAML en nouveau LookML. Cette page explique comment procéder. Chaque projet LookML doit être converti individuellement, et les développeurs doivent préparer et coordonner leurs efforts. Veillez donc à lire cette page dans son intégralité avant de convertir un projet.
Préparer la conversion
La conversion d'un projet LookML YAML en nouveau code LookML doit être effectuée par un seul développeur LookML. La conversion a lieu dans le mode de développement du développeur, et les modifications sont ensuite committées et déployées comme toute modification LookML ordinaire.
Cela dit, le processus nécessite la coopération de tous les développeurs LookML. Étant donné que la conversion modifie essentiellement chaque ligne de LookML, il est important de s'assurer que les autres développeurs LookML ont validé et déployé toutes leurs modifications dans le projet avant le début du processus de conversion. Sinon, vous risquez de rencontrer de très mauvais conflits de fusion Git.
Bien que le processus de conversion soit automatisé, la nouvelle version de LookML est beaucoup plus rigoureuse dans la vérification des erreurs que la version YAML de LookML. Cela signifie qu'après la conversion, des erreurs qui n'étaient pas apparues auparavant peuvent s'afficher. La résolution de ces erreurs améliorera la qualité du projet. Le nombre d'erreurs varie nécessairement d'un projet à l'autre, ce qui signifie que la correction peut prendre de quelques minutes à quelques heures. Dans tous les cas, le développement du projet doit rester suspendu par tous les développeurs LookML jusqu'à ce que les erreurs soient corrigées.
Rechercher des projets YAML dans votre instance Looker
Pour afficher les projets YAML sur votre instance Looker:
- Dans le menu Développer, sélectionnez l'option Gérer les projets LookML ou Projets (l'option est légèrement différente selon l'endroit où vous accédez au menu Développer).
-
Sur la page Projets LookML, recherchez le libellé YAML LookML dans la ligne de tableau d'un projet:
CONSEIL: Vous pouvez sélectionner le nom du projet dans le tableau pour accéder au code LookML du projet.
Coordonner vos actions avec les développeurs avant de convertir
Pour vous préparer à la conversion vers la nouvelle version de LookML:
- Choisissez un développeur LookML pour exécuter le processus de conversion.
- Assurez-vous que le projet ne comporte aucune erreur en exécutant l'outil de validation LookML. Corrigez toutes les erreurs, puis validez et déployez les modifications avant de passer à l'étape suivante.
- Désignez l'heure à laquelle effectuer la conversion.
- Informez tous les autres développeurs LookML qu'ils doivent committer et déployer les modifications sur lesquelles ils travaillent à l'heure indiquée. Autrement dit, toutes les copies du projet en mode Développement doivent être dans l'état Git À jour avec la production.
- Informez tous les autres développeurs LookML qu'ils ne doivent pas effectuer, valider ni déployer de modifications tant que la conversion n'est pas terminée.
Convertir en code LookML nouvelle version
Pour convertir en nouveau code LookML, exécutez le convertisseur:
- Activez le mode Développement.
- Ouvrez le projet à convertir.
- Assurez-vous que l'état Git en haut à gauche indique À jour avec "Production".
- Exécutez l'outil de validation LookML pour vous assurer qu'il n'y a pas d'erreurs dans le projet. Le résultat devrait être Aucun problème LookML. (Pour exécuter le validateur LookML, sélectionnez le bouton Valider LookML en haut à droite de l'IDE Looker, ou sélectionnez l'icône État du projet en haut de l'IDE pour ouvrir le panneau État du projet, puis sélectionnez Valider LookML.)
-
Pour convertir le projet de LookML YAML en nouveau code LookML:
-
Sélectionnez l'icône Actions Git dans la barre latérale de navigation de l'IDE Looker.
-
Vous pouvez également sélectionner l'icône Project Health (État du projet) en haut de l'IDE:
-
Vous pouvez également sélectionner l'icône Project Health (État du projet) en haut de l'IDE:
- Sélectionnez l'option Convertir le projet en code LookML nouvelle version dans le panneau Actions Git ou en bas du panneau État du projet.
- Sélectionnez le bouton Convertir vers la nouvelle version de LookML dans la boîte de dialogue de confirmation.
-
Sélectionnez l'icône Actions Git dans la barre latérale de navigation de l'IDE Looker.
Valider le nouveau code LookML
Lorsque le convertisseur a terminé son exécution, l'IDE indique que vos fichiers ont changé en affichant un point à côté de chaque nom de fichier:
Pour valider le nouveau code LookML:
- Sélectionnez le bouton Valider le code LookML pour exécuter le validateur LookML. Si aucune erreur ne s'affiche, vous pouvez passer à la section Valider et déployer le nouveau fichier LookML de cette page.
- Vous pouvez voir des erreurs là où vous n'en aviez pas auparavant. Comme indiqué précédemment, le nouveau langage LookML est plus rigoureux dans la recherche d'erreurs que le langage LookML YAML. Examinez les erreurs et corrigez-les. Si vous ne parvenez pas à les résoudre, consultez la section Résoudre les erreurs à la fin de cette page.
Valider et déployer le nouveau code LookML
À ce stade, effectuez un commit et un déploiement comme vous le feriez pour toute modification LookML ordinaire. Attention: ce commit déclenchera une recompilation de vos tables dérivées persistantes (PDT). Une fois le commit déployé, informez tous les autres développeurs LookML que la conversion est terminée et que l'exécution des requêtes reposant sur des tables PDT peut prendre un peu plus de temps que d'habitude, au moins jusqu'à ce que tout soit reconstruit. Les développeurs peuvent extraire de la production dans leur mode de développement pour apporter les modifications, puis poursuivre le développement, désormais avec une syntaxe LookML améliorée et plus intuitive, ainsi qu'un IDE beaucoup plus utile et puissant.
Résoudre les erreurs
En raison de la validation plus approfondie du modèle de la nouvelle version de LookML, vous pouvez constater des erreurs après la conversion qui n'étaient pas apparues auparavant. De plus, la vérification ad hoc des erreurs de la nouvelle version de LookML nécessite parfois un peu plus d'informations. Le convertisseur tente de déterminer cela pour vous, mais dans certains cas, vous devrez peut-être ajouter une ligne include
supplémentaire dans un ou deux fichiers de vue.
Références de champ non valides
Dans certains contextes, le code LookML YAML (ancien) ne garantit pas que les champs ou les ensembles que vous référencez sont réellement définis quelque part dans le modèle. Le plus souvent, cela se produit dans les listes et les ensembles de champs d'analyse.
Par exemple, si votre ancien code LookML incluait drill_fields: [id, name, email]
, mais qu'à un moment donné du développement de votre modèle, vous avez supprimé le champ name
au profit des champs first_name
et last_name
, le code LookML YAML ne vous aura pas averti que vous faisiez référence à un champ (name
) dans cette liste de champs d'analyse qui n'existe pas. Cela peut également se produire si vous faites référence à un champ dans un groupe de dimensions et que votre code LookML YAML n'a pas spécifié le champ comme le fait le nouveau code LookML.
En revanche, le nouveau langage LookML affiche ces types d'erreurs. Par conséquent, après avoir converti votre projet et exécuté le validateur LookML, vous pouvez voir des erreurs concernant des références de champ non valides que vous n'aviez jamais vues auparavant. Corriger ces erreurs améliorera la qualité globale de votre modèle.
Inclut manquantes dans les fichiers de vue
Dans certains cas, la vérification ad hoc des erreurs du nouveau LookML nécessite un peu plus de contexte que ce qui était nécessaire dans le LookML YAML. Plus précisément, il peut être nécessaire de placer une ligne include
dans certains fichiers de vue, le plus souvent lorsqu'une vue s'étend sur une autre.
Lorsqu'il n'y a aucune ambiguïté sur le fichier à inclure dans une vue, le convertisseur ajoute automatiquement la déclaration include
appropriée dans le nouveau fichier de vue LookML, et aucune erreur ne s'affiche.
Toutefois, dans certains cas (par exemple, pour les projets contenant plusieurs modèles), il peut y avoir deux vues ou plus portant le même nom déclaré dans des fichiers de vue distincts. Le convertisseur ne pourra pas déterminer laquelle inclure. Il ajoutera donc un commentaire en haut du nouveau fichier LookML pour indiquer qu'une seule de ces vues doit être incluse. Résolvez l'erreur qui en résulte en accédant au fichier de vue et en désactivant la suggestion appropriée.
Explorations extension_required
bloquées
Comme pour le problème de références de champ non valides décrit précédemment, dans le nouveau langage LookML, le validateur LookML vous avertira des explorations déclarées avec extension: required
, mais qui ne sont pas réellement étendues. Pour résoudre cette erreur, reconnectez ces explorations à leurs objets développés ou, si elles ne sont pas utilisées, supprimez-les.
Contrôle des versions
Étant donné que le processus de conversion LookML remplace vos fichiers de vue et de modèle .lookml
par des versions .lkml
, si un ou plusieurs développeurs effectuent un commit sur votre projet pendant la conversion, vous vous retrouverez au milieu d'un conflit de fusion.
C'est pourquoi il est extrêmement important qu'un seul développeur exécute le convertisseur. Il doit s'assurer que les copies en mode développement de tous les développeurs sont propres et à jour avant de commencer le processus de conversion.
Pour éviter les problèmes de contrôle des versions, le code doit être gelé pendant la conversion. Les autres développeurs ne doivent pas enregistrer de modifications pendant la période de blocage de la conversion.
Si le développeur qui exécute la conversion rencontre des problèmes pendant le processus de conversion, mais avant de valider les modifications et de les déployer en production, il peut être utile de revenir à la production. Cette option du menu déroulant (illustrée dans la section Exécuter le convertisseur de cette page) annule la conversion, ce qui permet au développeur de recommencer le processus.