Neues LookML – So konvertieren Sie ein YAML-LookML-Projekt

In Looker 4.0 wurde eine neue LookML-Syntax eingeführt, die das ursprüngliche LookML im YAML-Stil durch eine vertraute, aber einfachere Syntax und eine umfassende und hilfreiche IDE verbesserte. Ab Looker 4.4 müssen alle neuen LookML-Projekte in neuer LookML erstellt werden. Einige Projekte, die vor der Konvertierung erstellt wurden, werden jedoch möglicherweise weiterhin in (alten) YAML-Looks modelliert.

Looker bietet eine automatisierte Möglichkeit zum Konvertieren eines YAML-LookML-Projekts in das neue LookML. Auf dieser Seite wird erläutert, wie Sie diesen Vorgang durchführen. Jedes LookML-Projekt muss einzeln konvertiert werden. Entwickler müssen die Bemühungen vorbereiten und koordinieren. Lesen Sie daher diese Seite unbedingt vollständig durch, bevor Sie ein Projekt konvertieren.

Conversion vorbereiten

Die Aufgabe zum Konvertieren eines YAML-LookML-Projekts in das neue LookML darf nur von einem LookML-Entwickler ausgeführt werden. Die Konvertierung erfolgt im Entwicklungsmodus dieses Entwicklers. Die Änderungen werden dann wie jede normale LookML-Änderung übernommen und bereitgestellt.

Dieser Prozess erfordert jedoch die Zusammenarbeit aller LookML-Entwickler. Da durch die Konvertierung im Wesentlichen jede LookML-Zeile geändert wird, ist es wichtig, dass andere LookML-Entwickler vor Beginn des Konvertierungsprozesses alle Änderungen an dem Projekt durchgeführt und bereitgestellt haben. Andernfalls kann es zu sehr gravierenden Git-Zusammenführungskonflikten kommen.

Obwohl der Konvertierungsprozess automatisiert ist, geht die neue LookML bei der Fehlerprüfung wesentlich gründlicher vor als die YAML-LookML. Daher kann es nach der Konvertierung zu Fehlern kommen, die zuvor nicht aufgedeckt wurden. Das Beheben dieser Fehler verbessert die Qualität des Projekts. Die Anzahl der Fehler variiert zwangsläufig von Projekt zu Projekt. Das bedeutet, dass die Behebung einige Minuten bis einige Stunden dauern kann. In beiden Fällen muss die Entwicklung des Projekts von allen LookML-Entwicklern pausiert werden, bis die Fehler behoben sind.

YAML-Projekte auf der Looker-Instanz suchen

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

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

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

Vor der Umwandlung mit den Entwicklern abstimmen

So bereiten Sie die Konvertierung in das neue LookML vor:

  1. Wählen Sie einen LookML-Entwickler aus, um den Konvertierungsprozess auszuführen.
  2. Stellen Sie sicher, dass das Projekt fehlerfrei ist, indem Sie den LookML Validator ausführen. Beheben Sie alle Fehler und führen Sie dann einen Commit durch und stellen Sie die Änderungen bereit, bevor Sie mit dem nächsten Schritt fortfahren.
  3. Legen Sie einen Zeitpunkt für die Konvertierung fest.
  4. Teilen Sie allen anderen LookML-Entwicklern mit, dass Änderungen, an denen sie arbeiten, zum festgelegten Zeitpunkt übernommen und bereitgestellt werden. Das heißt, alle Kopien des Entwicklungsmodus des Projekts sollten den Git-Status Aktuell mit Produktion haben.
  5. Teilen Sie allen anderen LookML-Entwicklern mit, dass sie keine Änderungen vornehmen, festlegen oder bereitstellen sollen, bis die Konvertierung abgeschlossen ist.

In neues LookML konvertieren

Führen Sie den Converter aus, um in das neue LookML zu konvertieren:

  1. Wechseln Sie in den Entwicklungsmodus.
  2. Öffnen Sie das Projekt, das konvertiert werden soll.
  3. Achten Sie darauf, dass der Git-Status in der oberen linken Ecke Up to Date (Aktuell mit Produktion) angezeigt wird.
  4. Führen Sie den LookML Validator aus, um sicherzustellen, dass das Projekt keine Fehler enthält. Das Ergebnis sollte Keine LookML-Probleme lauten. Um den LookML-Validator auszuführen, wählen Sie oben rechts in der Looker-IDE die Schaltfläche LookML validieren aus. Alternativ können Sie das Symbol Projektzustand oben in der IDE auswählen, um den Bereich Projektzustand zu öffnen. Wählen Sie dann LookML validieren aus.
  5. So konvertieren Sie das Projekt von YAML-LookML in das neue LookML:

    1. Wählen Sie in der Navigationsleiste der Looker IDE das Symbol Git Actions aus.
      • Alternativ können Sie das Symbol Project Health (Projektzustand) oben in der IDE auswählen:

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

Das neue LookML validieren

Wenn der Konvertierunger beendet ist, zeigt die IDE an, dass sich Ihre Dateien geändert haben. Neben jedem Dateinamen wird ein Punkt angezeigt:

So validieren Sie den neuen LookML-Code:

  1. Wählen Sie die Schaltfläche LookML validieren aus, um den LookML-Validator auszuführen. Wenn keine Fehler vorhanden sind, können Sie mit dem Abschnitt Commit durchführen und den neuen LookML-Code bereitstellen auf dieser Seite fortfahren.
  2. Möglicherweise werden Fehler angezeigt, in denen vorher keine angezeigt wurden. Wie bereits erwähnt, ist das neue LookML bei der Prüfung auf Fehler gründlicher als YAML-LookML. Gehen Sie die Fehler durch und beheben Sie sie. Falls Sie beim Beheben nicht weiterkommen, lesen Sie den Abschnitt Fehler beheben am Ende dieser Seite.

Führen Sie ein Commit durch und stellen Sie den neuen LookML-Code bereit.

An dieser Stelle können Sie den Commit durchführen und die Bereitstellung so durchführen, wie Sie es bei jeder herkömmlichen LookML-Änderung tun würden. Achtung: Dieser Commit löst eine Neuerstellung der persistenten abgeleiteten Tabellen aus. Teilen Sie allen anderen LookML-Entwicklern nach der Bereitstellung mit, dass die Konvertierung abgeschlossen ist und die Ausführung von Abfragen, die auf PDTs basieren, etwas länger als gewöhnlich dauern kann, zumindest bis alles neu erstellt ist. Entwickler können in ihrem Entwicklungsmodus aus der Produktion abrufen, um die Änderungen einzubringen und dann weiterzuentwickeln – jetzt mit einer verbesserten und intuitiveren LookML-Syntax sowie einer viel nützlicheren und leistungsfähigeren IDE.

Fehler beheben

Aufgrund der gründlicheren Modellvalidierung des neuen LookML-Codes treten nach der Konvertierung möglicherweise Fehler auf, die zuvor nicht angezeigt wurden. Darüber hinaus erfordert die Ad-hoc-Fehlerprüfung der neuen LookML in einigen Fällen etwas mehr Informationen. Der Konverter versucht, dies für Sie herauszufinden, aber in einigen Fällen müssen Sie möglicherweise eine zusätzliche include-Zeile in eine oder zwei Ansichtsdateien einfügen.

Ungültige Feldverweise

In einigen Kontexten gewährleistet (alte) YAML-LookML nicht, dass die Felder oder Sets, auf die Sie verweisen, tatsächlich irgendwo im Modell definiert sind. Am wahrscheinlichsten ist dies in Aufschlüsselungsfeldlisten und -sätzen.

Wenn Ihre alte LookML beispielsweise drill_fields: [id, name, email] enthält, Sie aber irgendwann bei der Entwicklung Ihres Modells das Feld name zugunsten der Felder first_name und last_name entfernt haben, wurden Sie von YAML-LookML nicht gewarnt, dass Sie in dieser Aufschlüsselungsfeldliste auf ein Feld (name) verwiesen haben, das nicht vorhanden ist. Der Fehler kann auch auftreten, wenn Sie auf ein Feld in einer Dimensionsgruppe verweisen und Ihr YAML-LookML das Feld nicht wie in der neuen LookML definiert hat.

Im neuen LookML-Code hingegen werden diese Fehlertypen angezeigt. Daher werden nach dem Konvertieren Ihres Projekts und dem Ausführen des LookML-Validators möglicherweise Fehler aufgrund von ungültigen Feldverweisen angezeigt, die Sie noch nie gesehen haben. Durch die Behebung dieser Fehler wird die Gesamtqualität Ihres Modells verbessert.

Fehlende Include-Elemente in Ansichtsdateien

In einigen Fällen erfordert die Ad-hoc-Fehlerprüfung der neuen LookML etwas mehr Kontext als in YAML-LookML erforderlich. Insbesondere kann es notwendig sein, in einigen Ansichtsdateien eine include-Zeile zu platzieren, meistens dann, wenn eine Ansicht eine andere erweitert.

Wenn es eindeutig ist, welche Datei in eine Ansicht aufgenommen werden muss, fügt der Konverter automatisch die entsprechende include-Deklaration in die neue LookML-Ansichtsdatei ein und es werden keine Fehler angezeigt.

In einigen Fällen (z. B. bei Projekten, die mehrere Modelle enthalten) können jedoch zwei oder mehr Ansichten mit demselben Namen in separaten Ansichtsdateien deklariert werden. Der Konverter kann nicht bestimmen, welche die richtige ist. Daher fügt er am Anfang der neuen LookML-Datei einen Kommentar hinzu, der angibt, dass nur eine dieser Ansichten eingeschlossen werden soll. Beheben Sie den resultierenden Fehler, indem Sie die Ansichtsdatei aufrufen und die Kommentarzeichen des richtigen Vorschlags aufheben.

Gestrandete extension_required Explores

Wie beim zuvor beschriebenen Problem mit ungültigen Feldverweisen werden Sie auch in der neuen LookML vom LookML-Validator bei Explores benachrichtigt, die mit extension: required deklariert sind, aber nicht erweitert werden. Zum Beheben dieses Fehlers stellen Sie diese Explores entweder wieder mit ihren erweiterten Objekten wieder her oder entfernen sie, wenn sie nicht verwendet werden.

Versionsverwaltung

Da bei der LookML-Konvertierung Ihre Ansichts- und Modelldateien .lookml durch .lkml-Versionen ersetzt werden, kann es zu einem Zusammenführungskonflikt kommen, wenn sich ein oder mehrere Entwickler während der Konvertierung auf Ihr Projekt festlegen. Aus diesem Grund ist es sehr wichtig, dass nur ein Entwickler den Konverter ausführt. Vor Beginn des Konvertierungsprozesses sollten sich die Entwickler koordinieren, damit die Kopien im Entwicklungsmodus bei allen Nutzern bereinigt und auf dem neuesten Stand sind.

Um Probleme bei der Versionsverwaltung zu vermeiden, muss während der Konvertierung ein Code-Freeze eingefroren sein. Andere Entwickler sollten in der Zeit, die für die Konvertierung gesperrt ist, keine Änderungen einchecken.

Wenn bei dem Entwickler, der die Konvertierung ausführt, während des Konvertierungsvorgangs Probleme auftreten, aber bevor er Änderungen festlegt und die Konvertierung in die Produktion übernimmt, kann es hilfreich sein, zur Produktion zurückzukehren. Mit dieser Option aus dem Drop-down-Menü (siehe Abschnitt Konverter ausführen auf dieser Seite) wird die Konvertierung rückgängig gemacht, sodass der Entwickler den Vorgang neu beginnen kann.