Der SQL-Validator für die kontinuierliche Integration (Continuous Integration, CI) prüft, ob die Dimensionen in Ihren Explores korrekt mit Ihrer Datenbank ausgeführt werden. Dazu führt der SQL-Validator eine Reihe von Abfragen für die Explores in Ihrem LookML-Projekt aus.
Standardmäßig führt der SQL-Validator die folgenden Aufgaben aus:
- Für jedes Explore in Ihrem Projekt führt der SQL-Validator eine Explore-Abfrage aus, die alle Dimensionen im Explore enthält.
- Wenn Looker einen Fehler für die Explore-Abfrage zurückgibt, führt der SQL-Validator eine separate Explore-Abfrage für jede Dimension im Explore aus.
Wenn der SQL-Validator nicht jede Dimension in jedem Explore testen soll, können Sie optional eine oder mehrere der folgenden Aktionen ausführen:
- Konfigurieren Sie den SQL-Validator so, dass nur bestimmte Explores abgefragt werden.
- Konfigurieren Sie den SQL-Validator so, dass bestimmte Explores ausgeschlossen werden.
- Konfigurieren Sie den SQL-Validator so, dass LookML-Dimensionen, die mit definiert sind, ignoriert werden
hidden: yes. - Fügen Sie der LookML einer Dimension einen
ci: ignoreKommentar oder ein Tag hinzu, um zu verhindern, dass der SQL-Validator die Dimension in seine Explore-Abfragen einbezieht.
Weitere Informationen zu den Optionen, die Sie beim Erstellen oder Bearbeiten einer CI-Suite konfigurieren können, finden Sie im Abschnitt SQL-Validator-Optionen auf dieser Seite. Informationen zum Ausführen des SQL-Validators finden Sie auf der Dokumentationsseite Ausführen von Continuous Integration-Suites.
Auf der Seite mit den Ausführungsergebnissen zeigt der SQL-Validator jeden SQL-Fehler nach Dimension und Explore kategorisiert an. Außerdem enthält er einen Link zur problematischen LookML und einen Link Explore von hier aus zur Fehlerbehebung:

Ressourcenverbrauch
Der SQL-Validator ist so konzipiert, dass er möglichst wenige Ressourcen in Looker und in Ihrem Data Warehouse verbraucht. Alle SQL-Validator-Abfragen enthalten eine LIMIT 0- und eine WHERE 1=2-Klausel. Mit diesen Klauseln wird der Abfrageplaner in Ihrem Data Warehouse angewiesen, keine Daten zu verarbeiten, sondern die Gültigkeit des SQL-Codes zu prüfen.
In BigQuery entspricht diese Art von Abfrage beispielsweise dem Ausführen einer Testabfrage in BigQuery. Bei LIMIT 0-Abfragen in BigQuery werden keine Daten gescannt. Daher sollten Ihnen die Abfragen, die der SQL-Validator ausführt, nicht in Rechnung gestellt werden.
Dimensionen von der SQL-Validierung ausschließen
Möglicherweise möchten Sie bestimmte Dimensionen von der SQL-Validierung ausschließen, z. B. Dimensionen, die von einem Parameter abhängen. Der Wert des Parameters ist während der Validierung „null“ und verursacht immer einen SQL-Fehler.
Sie können auch Dimensionen ausschließen, die keinen sql-Parameter haben, z. B. Dimensionen vom Typ type: distance, type: location oder type: duration.
Wenn Sie eine Dimension von der SQL-Validierung ausschließen möchten, können Sie die LookML der Dimension auf zwei Arten ändern:
Sie können im Parameter
tagsder LookML-Definition der Dimension die Anweisungci: ignorehinzufügen, wie im folgenden Beispiel gezeigt:dimension: addresses { sql: ${TABLE}.addresses ;; tags: ["ci: ignore"] }Sie können dem Feld
sqlder LookML Ihrer Dimension den Kommentar-- ci: ignorehinzufügen, wie im folgenden Beispiel gezeigt:dimension: addresses { sql: -- ci: ignore ${TABLE}.addresses ;; }
SQL-Validator-Optionen
Beim Erstellen oder Bearbeiten einer Continuous Integration-Suite können Sie verschiedene Optionen angeben, um zu konfigurieren, wie der SQL-Validator ausgeführt wird. Die Optionen werden in den folgenden Abschnitten dieser Seite beschrieben:
- Abzufragende Explores
- Auszuschließende Explores
- Fehler früh erkennen
- Ausgeblendete ignorieren
- Nebenläufigkeit von Abfragen
- Inkrementelle Validierung
Abzufragende Explores
Standardmäßig führt der SQL-Validator die SQL-Validierung für alle Modelle und Explores in Ihrem LookML-Projekt aus.
Im Feld Abzufragende Explores können Sie die Explores und Modelle angeben, die in die SQL-Validierung einbezogen werden sollen.
Sie können Explores im folgenden Format angeben: model_name/explore_name
Wichtige Hinweise:
- Verwenden Sie für
model_nameden Namen der Modelldatei ohne die Erweiterung.model.lkml. Wenn Sie beispielsweise das inthelook.model.lkmldefinierte Modell angeben möchten, geben Siethelookein. - Verwenden Sie für
explore_namedenexplore_nameaus demexploreLookML-Parameter. Wenn Sie beispielsweise das alsexplore: usersin Ihrem LookML-Projekt definierte Explore angeben möchten, geben Sieusersein. - Sie können eine durch Kommas getrennte Liste erstellen, um mehrere Explores anzugeben.
- Sie können den Platzhalter
*inmodel_nameoderexplore_nameverwenden.
Hier sind einige Beispiele:
Wenn Sie nur das Explore Users angeben möchten, das mit
explore: usersin der Dateithelook.model.lkmldefiniert ist, geben Sie Folgendes ein:thelook/usersWenn Sie die Explores
usersundordersin der Dateithelook.model.lkmlangeben möchten, geben Sie Folgendes ein:thelook/users, thelook/ordersWenn Sie alle Explores in
thelook.model.lkmlangeben möchten, geben Sie Folgendes ein:thelook/*Wenn Sie alle Explores mit dem Namen
usersin allen Modellen in Ihrem Projekt angeben möchten, geben Sie Folgendes ein:*/users
Auszuschließende Explores
Standardmäßig führt der SQL-Validator die SQL-Validierung für alle Modelle und Explores in Ihrem LookML-Projekt aus.
Im Feld Auszuschließende Explores können Sie die Explores und Modelle angeben, die von der SQL-Validierung ausgeschlossen werden sollen.
Sie können Explores im folgenden Format angeben: model_name/explore_name
Weitere Informationen zum Angeben von Explores für den SQL-Validator finden Sie im Abschnitt Abzufragende Explores.
Fehler früh erkennen
Standardmäßig führt der SQL-Validator eine Abfrage pro Explore mit allen Dimensionen in der Abfrage aus. Wenn diese Explore-Abfrage fehlschlägt, führt der SQL-Validator eine Explore-Abfrage für jede Dimension im Explore einzeln aus.
Für eine schnellere Validierung können Sie die Option Fehler früh erkennen aktivieren, damit der SQL-Validator nur die erste Abfrage für ein Explore ausführt, also die Abfrage, die alle Dimensionen gleichzeitig enthält. Wenn diese Abfrage einen Fehler zurückgibt, zeigt der SQL-Validator diesen Fehler in den Ergebnissen der CI-Ausführung an und fährt mit dem nächsten zu validierenden Explore fort.
Wenn Fehler früh erkennen aktiviert ist, wird die Validierung in der Regel schneller abgeschlossen. Die Ergebnisse des SQL-Validators zeigen jedoch nur den ersten Fehler für jedes Explore an, auch wenn mehrere Dimensionen Fehler enthalten. Das bedeutet, dass bei der nächsten Ausführung des SQL-Validators nach dem Beheben des ersten Fehlers möglicherweise ein weiterer Fehler angezeigt wird.
Ausgeblendete ignorieren
Aktivieren Sie das Feld Ausgeblendete ignorieren , wenn der SQL-Validator die LookML-Dimensionen ignorieren soll, die von Ihren Looker-Entwicklern mit hidden: yes definiert wurden. Der SQL-Validator lässt diese Dimensionen bei der Validierung aus seinen Explore-Abfragen heraus.
Nebenläufigkeit von Abfragen
Standardmäßig führt der SQL-Validator nicht mehr als 10 Abfragen gleichzeitig aus, um Ihre Looker-Instanz nicht zu überlasten. Im Feld Nebenläufigkeit von Abfragen können Sie eine andere maximale Anzahl von Abfragen angeben, die der SQL-Validator gleichzeitig ausführen kann.
Der Maximalwert für das Feld Nebenläufigkeit von Abfragen ist auf die Einstellung Maximale Anzahl gleichzeitiger Abfragen für diese Verbindung Ihrer Datenbankverbindung beschränkt.
Wenn Sie bei der Ausführung der SQL-Validierung eine Verlangsamung Ihrer Looker-Instanz feststellen, können Sie diesen Wert verringern.
Inkrementelle Validierung
Bei der inkrementellen Validierung werden Fehler entdeckt, die nur in einem bestimmten Entwicklungszweig vorhanden sind und noch nicht in die Produktionsumgebung übernommen wurden. Die inkrementelle Validierung hilft Entwicklern, die Fehler zu finden und zu beheben, für die sie verantwortlich sind, ohne von vorhandenen Fehlern im Projekt abgelenkt zu werden. Außerdem kann sie die Validierung beschleunigen, insbesondere bei LookML-Projekten mit vielen Explores.
Bei der inkrementellen Validierung führt der SQL-Validator nur die Explore-Abfragen aus, die sich zwischen einer Entwicklungsversion (der Basisreferenz) und der Produktionsversion (der Zielreferenz) geändert haben. Der SQL-Validator gibt nur die Fehler zurück, die für die Entwicklungsversion spezifisch sind, auch wenn die Produktionsversion selbst Fehler enthält.
In den Validator-Ergebnissen gibt der SQL-Validator jedes Explore an, das übersprungen wurde, weil sich das kompilierte SQL im Zweig oder Commit, der validiert wird, nicht geändert hat. Ein Beispiel für inkrementelle Validierungsergebnisse finden Sie unter Ergebnisse der inkrementellen Validierung ansehen.
Sie können die inkrementelle Validierung für den SQL-Validator aktivieren, indem Sie beim Erstellen oder Bearbeiten einer Continuous Integration-Suite im Abschnitt SQL-Validator das Kästchen Nur inkrementelle Fehler aktivieren.
Beachten Sie bei der inkrementellen Validierung Folgendes:
- Die Einstellung für die inkrementelle Validierung gilt nicht, wenn der SQL-Validator den Produktionszweig selbst validiert, z. B. bei manuellen Ausführungen im Produktionszweig. Beim Validieren des Produktionszweigs führt der SQL-Validator eine vollständige Validierung aus.
- Der Modus Fehler früh erkennen wird für inkrementelle Validierungsausführungen nicht unterstützt, da einzelne Dimensionsabfragen erforderlich sind, um die inkrementellen Fehler aufzudecken, die für einen Entwicklungszweig des Projekts spezifisch sind.