Neues LookML – YAML-LookML-Projekt konvertieren

In Looker 4.0 wurde eine neue LookML-Syntax eingeführt, die die ursprüngliche LookML im YAML-Format mit einer vertrauten, aber einfacheren Syntax und einer umfangreichen und hilfreichen IDE verbesserte, um die LookML-Entwicklung zu erleichtern. Ab Looker 4.4 müssen alle neuen LookML-Projekte in der neuen LookML-Version erstellt werden. Einige Projekte, die vor der Umstellung erstellt wurden, können jedoch weiterhin in YAML (alte LookML) modelliert werden.

Looker bietet eine automatisierte Möglichkeit, ein YAML-LookML-Projekt in die neue LookML zu konvertieren. Auf dieser Seite wird beschrieben, wie Sie vorgehen. Jedes LookML-Projekt muss einzeln konvertiert werden und die Entwickler müssen die Umstellung vorbereiten und koordinieren. Lesen Sie sich diese Seite daher vollständig durch, bevor Sie ein Projekt konvertieren.

Konvertierung vorbereiten

Die Umwandlung eines YAML-LookML-Projekts in das neue LookML darf nur von einem LookML-Entwickler durchgeführt werden. Die Umwandlung erfolgt im Entwicklungsmodus des Entwicklers. Die Änderungen werden dann wie jede gewöhnliche LookML-Änderung committet und bereitgestellt.

Der Prozess erfordert jedoch die Zusammenarbeit aller LookML-Entwickler. Da bei der Umwandlung praktisch jede Zeile der LookML-Datei geändert wird, ist es wichtig, dass andere LookML-Entwickler alle ihre Änderungen vor Beginn des Umwandlungsprozesses in das Projekt einchecken und bereitstellen. Andernfalls kann es zu sehr unangenehmen Git-Merge-Konflikten kommen.

Die Umwandlung ist zwar automatisiert, aber das neue LookML bietet eine viel gründlichere Fehlerprüfung als YAML LookML. Das bedeutet, dass nach der Umstellung möglicherweise Fehler auftreten, die zuvor nicht angezeigt wurden. Wenn Sie diese Fehler beheben, wird die Qualität des Projekts verbessert. Die Anzahl der Fehler variiert von Projekt zu Projekt. Die Fehlerbehebung kann daher einige Minuten bis zu mehreren Stunden dauern. In beiden Fällen muss die Entwicklung des Projekts von allen LookML-Entwicklern pausiert bleiben, bis die Fehler behoben sind.

YAML-Projekte in Ihrer Looker-Instanz finden

So rufen Sie die YAML-Projekte in Ihrer Looker-Instanz auf:

  1. Wählen Sie im Menü Entwickeln die Option LookML-Projekte verwalten oder Projekte aus. Die Option unterscheidet sich je nachdem, wo Sie auf das Menü Entwickeln zugreifen.
  2. Suchen Sie auf der Seite LookML-Projekte in der Tabellenzeile eines Projekts nach dem Label YAML LookML:

    TIPP: Sie können den Namen des Projekts in der Tabelle auswählen, um die LookML des Projekts aufzurufen.

Vor der Umwandlung mit den Entwicklern abstimmen

So bereiten Sie sich auf die Umstellung auf die neue LookML vor:

  1. Wählen Sie einen LookML-Entwickler aus, der den Conversion-Vorgang ausführen soll.
  2. Führen Sie den LookML-Validator aus, um sicherzustellen, dass das Projekt fehlerfrei ist. Beheben Sie alle Fehler, committen Sie die Änderungen und führen Sie sie aus, bevor Sie mit dem nächsten Schritt fortfahren.
  3. Legen Sie einen Zeitpunkt für die Umwandlung fest.
  4. Informieren Sie alle anderen LookML-Entwickler, dass sie alle Änderungen, an denen sie gerade arbeiten, bis zum angegebenen Zeitpunkt committen und bereitstellen müssen. Das bedeutet, dass alle Kopien des Projekts im Entwicklungsmodus den Git-Status Aktualisiert mit der Produktion haben sollten.
  5. Informieren Sie alle anderen LookML-Entwickler, dass sie bis zur vollständigen Umstellung keine Änderungen vornehmen, committen oder bereitstellen dürfen.

In neues LookML konvertieren

Führen Sie den Konverter aus, um die Konvertierung in die neue LookML-Version vorzunehmen:

  1. Rufen Sie den Entwicklungsmodus auf.
  2. Öffnen Sie das Projekt, das konvertiert werden soll.
  3. Der Git-Status in der oberen linken Ecke muss Up to Date (Auf dem neuesten Stand) mit der Produktion sein.
  4. Führen Sie den LookML-Validator aus, um sicherzustellen, dass keine Fehler im Projekt vorhanden sind. Das Ergebnis sollte Keine LookML-Probleme sein. Um den LookML Validator auszuführen, klicken Sie oben rechts in der Looker IDE auf die Schaltfläche LookML prüfen. Sie können auch oben in der IDE auf das Symbol Projektstatus klicken, um den Bereich Projektstatus zu öffnen, und dann LookML prüfen auswählen.
  5. So konvertieren Sie das Projekt von YAML-LookML in die neue LookML:

    1. Wählen Sie in der Navigationsleiste der Looker IDE das Symbol Git-Aktionen aus.
      • Alternativ können Sie oben in der IDE das Symbol Projektstatus auswählen:

    2. Wählen Sie im Bereich Git-Aktionen oder unten im Bereich Projektstatus die Option Projekt in neues LookML konvertieren aus.
    3. Klicken Sie im Bestätigungsdialogfeld auf die Schaltfläche In neue LookML konvertieren.

Neue LookML validieren

Wenn die Konvertierung abgeschlossen ist, zeigt die IDE an, dass sich Ihre Dateien geändert haben, indem neben jedem Dateinamen ein Punkt angezeigt wird:

So validieren Sie die neue LookML:

  1. Klicken Sie auf die Schaltfläche LookML prüfen, um den LookML Validator auszuführen. Wenn keine Fehler auftreten, können Sie mit dem Abschnitt Neue LookML-Version committen und bereitstellen auf dieser Seite fortfahren.
  2. Möglicherweise werden jetzt Fehler angezeigt, die vorher nicht vorhanden waren. Wie bereits erwähnt, wird bei der neuen LookML gründlicher auf Fehler geprüft als bei YAML-LookML. Sehen Sie sich die Fehler an und beheben Sie sie. Wenn Sie sie nicht beheben können, lesen Sie den Abschnitt Fehler beheben am Ende dieser Seite.

Neue LookML-Datei committen und bereitstellen

Führen Sie jetzt einen Commit aus und führen Sie die Bereitstellung wie bei einer normalen LookML-Änderung aus. Hinweis: Dieser Commit löst einen Neuaufbau Ihrer persistenten abgeleiteten Tabellen (PDTs) aus. Sobald das Commit bereitgestellt wurde, informieren Sie alle anderen LookML-Entwickler darüber, dass die Umstellung abgeschlossen ist und dass Abfragen, die auf PDTs basieren, etwas länger als üblich dauern können, zumindest bis alles neu erstellt wurde. Entwickler können im Entwicklungsmodus Daten aus der Produktion abrufen, um die Änderungen einzubinden, und dann mit der Entwicklung fortfahren – jetzt mit einer verbesserten und intuitiveren LookML-Syntax und einer viel hilfreicheren und leistungsfähigeren IDE.

Fehler beheben

Aufgrund der gründlicheren Modellvalidierung in der neuen LookML-Version können nach der Umstellung Fehler auftreten, die zuvor nicht angezeigt wurden. Außerdem erfordert die Ad Hoc-Fehlerprüfung in der neuen LookML-Version in einigen Fällen etwas mehr Informationen. Der Konverter versucht, diese für Sie herauszufinden. In einigen Fällen müssen Sie jedoch in einer oder zwei Ansichtsdateien eine zusätzliche include-Zeile hinzufügen.

Ungültige Feldverweise

In einigen Kontexten wird in YAML (alte LookML) nicht sichergestellt, dass die Felder oder Sets, auf die Sie verweisen, tatsächlich irgendwo im Modell definiert sind. Am wahrscheinlichsten tritt dieses Problem in Listen und Sets mit Drilldown-Feldern auf.

Wenn Ihre alte LookML beispielsweise drill_fields: [id, name, email] enthielt, Sie aber während der Entwicklung Ihres Modells das Feld name zugunsten der Felder first_name und last_name entfernt haben, werden Sie in YAML LookML nicht gewarnt, dass Sie in dieser Liste der Drilldown-Felder auf ein Feld (name) verweisen, das nicht existiert. Das kann auch passieren, wenn Sie auf ein Feld in einer Dimensionsgruppe verweisen und das Feld in Ihrer YAML-LookML nicht so angegeben wurde wie in der neuen LookML.

In der neuen LookML-Version werden diese Fehlertypen hingegen angezeigt. Daher werden nach der Umwandlung Ihres Projekts und der Ausführung des LookML-Validators möglicherweise Fehlermeldungen zu ungültigen Feldreferenzen angezeigt, die Sie zuvor noch nie gesehen haben. Wenn Sie diese Fehler beheben, wird die Gesamtqualität Ihres Modells verbessert.

Fehlende Includes in Ansichtsdateien

In einigen Fällen erfordert die Ad-hoc-Fehlerprüfung in der neuen LookML etwas mehr Kontext als in YAML-LookML. Insbesondere kann es erforderlich sein, in einigen Ansichtsdateien eine include-Zeile einzufügen. Das ist am häufigsten der Fall, wenn eine Ansicht eine andere erweitert.

Wenn eindeutig ist, welche Datei in einer Ansicht enthalten sein muss, fügt der Konverter automatisch die entsprechende include-Deklaration in die neue LookML-Ansichtsdatei ein. Es werden keine Fehler angezeigt.

In einigen Fällen (z. B. bei Projekten mit mehreren Modellen) kann es jedoch zwei oder mehr Ansichten mit demselben Namen geben, die in separaten Ansichtsdateien deklariert sind. Der Konverter kann nicht feststellen, welche der beiden Ansichten eingefügt werden soll. Daher wird oben in der neuen LookML-Datei ein Kommentar hinzugefügt, der darauf hinweist, dass nur eine dieser Ansichten eingefügt werden soll. Beheben Sie den Fehler, indem Sie in der Ansichtsdatei den richtigen Vorschlag entkommentieren.

Stranded extension_required

Ähnlich wie beim zuvor beschriebenen Problem mit ungültigen Feldreferenzen werden Sie in der neuen LookML-Version vom LookML-Validator auf Explores hingewiesen, die mit extension: required deklariert, aber nicht erweitert werden. Um diesen Fehler zu beheben, stellen Sie entweder eine Verbindung zwischen diesen Explores und ihren erweiterten Objekten her oder entfernen Sie sie, falls sie nicht verwendet werden.

Versionsverwaltung

Da Ihre .lookml-Ansichts- und Modelldateien bei der LookML-Konvertierung durch .lkml-Versionen ersetzt werden, kommt es zu einem Merge-Konflikt, wenn einer oder mehrere Entwickler während der Konvertierung Änderungen an Ihrem Projekt vornehmen. Aus diesem Grund ist es äußerst wichtig, dass nur ein Entwickler den Konverter ausführt. Er sollte sich mit den anderen Entwicklern abstimmen, damit alle Kopien im Entwicklungsmodus vor Beginn des Konvertierungsvorgangs sauber und auf dem neuesten Stand sind.

Um Probleme mit der Versionskontrolle zu vermeiden, muss während der Umstellung ein Code-Freeze erfolgen. Andere Entwickler sollten während der Zeit, in der die Umwandlung blockiert ist, keine Änderungen einchecken.

Wenn der Entwickler, der die Umstellung durchführt, während des Umstellungsprozesses, aber noch vor dem Committen von Änderungen und dem Pushen in die Produktion, auf Probleme stößt, kann es hilfreich sein, zu der Produktionsversion zurückzukehren. Mit dieser Option im Drop-down-Menü (im Abschnitt Converter ausführen auf dieser Seite dargestellt) wird die Umwandlung rückgängig gemacht, sodass der Entwickler den Vorgang noch einmal starten kann.