Looker Marketplace-Blöcke anpassen

Looker-Blöcke sind vorgefertigte Datenmodelle für gängige Analysemuster und Datenquellen. Auf dieser Seite wird beschrieben, wie Entwickler Looker-Blöcke anpassen können, die aus dem Looker Marketplace installiert wurden. Der Looker Marketplace ist ein zentraler Ort, an dem Sie viele Arten von Looker-Inhalten wie Anwendungen, Visualisierungen und Plug-ins suchen, bereitstellen und verwalten können.

Weitere Informationen zu allen verfügbaren Looker-Blöcken sowie zu alternativen Methoden zur Anpassung von Blöcken finden Sie auf der Dokumentationsseite Looker-Blöcke.

Anforderungen für die Installation und Verwaltung von Looker-Blöcken aus dem Looker Marketplace

Bevor Sie einige Blöcke aus dem Looker Marketplace installieren und verwenden können, müssen die folgenden Anforderungen erfüllt sein:

  • Wenn Sie Ihren Block über den Looker Marketplace installieren, muss Ihr Looker-Administrator die Funktion Marketplace aktivieren.
  • Nutzer benötigen die Berechtigungen develop, manage_models und deploy, um Pakete aus dem Marketplace zu installieren und zu verwalten.
  • Wenn der jeweilige Block einen local_dependency Parameter enthält, verwendet der Block den lokalen Projektimportprozess. Weitere Informationen zum Importieren von Projekten finden Sie auf der Dokumentationsseite Dateien aus anderen Projekten importieren. Die folgenden Blöcke enthalten einen Parameter local_dependency:

    • Digitale Marketinganalysen
    • Vertriebsanalytik
    • Webanalyse

Informationen zum Installieren und Verwalten von Looker-Blöcken aus dem Looker Marketplace finden Sie auf der Dokumentationsseite Looker Marketplace.

Zugriff auf das LookML für einen Marketplace-Block

Blöcke, die auf Projekten mit Verfeinerungen basieren, werden aus dem Marketplace installiert als einzelnes, bearbeitbares CONFIG-Projekt, das das CORE-Projekt remote importiert. Dieses enthält den gesamten LookML-Code und die konstante Parametrisierung.

Nachdem ein Block aus dem Marketplace installiert wurde, können Sie über das Menü Entwickeln auf das zugehörige Projekt zugreifen, indem Sie in der Projektliste auf den Namen des Projekts klicken. Dem Namen eines Marketplace-Verfeinerungsblocks wird in der Regel marketplace_ vorangestellt, gefolgt von der Eintrags-ID.

Sie können das schreibgeschützte CORE-Projekt eines Blocks zwar nicht direkt ändern, aber das LookML, das in den schreibgeschützten CORE-Dateien des Blocks definiert ist, als Referenz verwenden, wenn Sie die CONFIG-Dateien des Blocks anpassen. Die CORE-Dateien des Blocks finden Sie, indem Sie in der IDE zu den Projektdateien des Blocks navigieren und im IDE-Dateibrowser das imported_projects Verzeichnis maximieren.

Dateistruktur des Blocks

Wenn Sie einen Block installieren, der für Verfeinerungen entwickelt wurde, werden diese Dateien automatisch als Teil des CONFIG-Teils des Blockprojekts erstellt:

Dateiname Zugriff Funktion
<model_name>.model.lkml Schreibgeschützt für alle Nutzer Virtuelle Modelldatei, die mit der Blockinstallation verknüpft ist. Sie verarbeitet den Import aller Modelle aus dem CORE-Projekt des Blocks. Wenn ein Block deinstalliert oder aktualisiert wird, werden die zugehörigen Modelldateien gelöscht, um Modellkonflikte zwischen mehreren Blockinstallationen zu vermeiden.
manifest.lkml Bearbeitbar für Nutzer mit der Berechtigung develop Beschreibt das Projekt und seine externen Abhängigkeiten. Enthält die Marketplace-Eintrags-ID für die Blockinstallation und ermöglicht den Remote-Import der CORE-Projektdateien des Blocks über das Schlüsselwort marketplace.
marketplace_lock.lkml Schreibgeschützt für alle Nutzer Enthält einen Verweis auf das marketplace_ref Schlüsselwort aus der Manifestdatei, das den Remote-Import des CORE-Projekts verarbeitet. Enthält die spezifischen Eintrags-, Versions- und Modellinformationen, die mit der Installation verknüpft sind. Enthält Informationen zu Konstanten, die während der Installation konfiguriert werden (und die mit der Option Verwalten auf der Marketplace-Benutzeroberfläche aktualisiert werden können).
refinements.lkml Bearbeitbar für Nutzer mit der Berechtigung develop Ermöglicht Entwicklern, Ansichten und Explores zu verfeinern, die in den importierten CORE-Projektdateien definiert sind.

Marketplace-Block anpassen

Aktivieren Sie den Entwicklungsmodus, um Änderungen an den bearbeitbaren Dateien des Blocks vorzunehmen.

Wenn Sie die Berechtigung develop haben, können Sie das LookML in der Datei refinements.lkml des CONFIG-Projekts des Blocks anpassen. Sie können die Ansichten und Explores verfeinern, die bereits im CORE-Projekt des Blocks definiert sind, oder sogar neue Ansichten und Explores hinzufügen, die noch nicht im CORE-Projekt definiert sind. Alles, was mit LookML-Verfeinerungen in anderen LookML-Projekten möglich ist, ist auch in der Datei refinements.lkml des Blocks möglich. Die Kombination aus Verfeinerung und dem ursprünglichen LookML verhält sich so, als wäre es das ursprüngliche LookML für das Objekt.

Sie können auch Änderungen an der Datei manifest.lkml des CONFIG-Projekts vornehmen, um alle Abhängigkeiten anzugeben, die für diesen Block erfasst werden müssen.

Sie sind nicht auf die Änderung dieser Dateien beschränkt, um die gewünschten Anpassungen zu erzielen. Sie können auch neue Dateien im CONFIG-Projekt erstellen. Achten Sie nur darauf, include alle neuen Dateien in die Datei refinements.lkml einzufügen.

Verfeinerungsdatei anpassen

Wenn Sie die Berechtigung develop haben, können Sie dem CONFIG-Projekt benutzerdefiniertes LookML hinzufügen, um zusätzliche Daten einzubinden oder das analytische Kernmodell des Blocks zu ändern. Sie können neue Ansichten erstellen und mit vorhandenen Explores verknüpfen, neue Felder definieren oder vorhandene Felder neu definieren oder nach Bedarf Labels anwenden, um ein Modell für die gewünschte Analyse zu erstellen. Wenn Sie neue Dateien im CONFIG-Projekt erstellt haben, müssen Sie sie include in die Verfeinerungsdatei einfügen.

Angenommen, Sie haben einen Block installiert und die Datei refinements.lkml enthält das folgende LookML:

include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"

Dabei ist listing_id der Wert des Parameters listing aus der Datei manifest.lkml.

Mit Verfeinerungen können Sie einer Ansicht namens flights eine neue Dimension hinzufügen:

include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"

view: +flights {
  dimension: air_carrier {
    type: string
    sql: ${TABLE}.air_carrier ;;
  }
}

Oder Sie können ein Label auf einen Explore namens aircraft anwenden, damit er in der Benutzeroberfläche als Aircraft Simplified angezeigt wird:

include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"

explore: +aircraft {
  label: "Aircraft Simplified"
}

Die Datei refinements.lkml ist automatisch in der „virtuellen“ Modelldatei des Blocks enthalten, die im Wesentlichen die Modelle aus dem CORE-Projekt importiert.

Weitere Informationen zu diesem komplexen Thema finden Sie in der Dokumentation zu LookML-Verfeinerungen.

Bearbeitbare Manifestdatei anpassen

In Blöcken, die Verfeinerungen verwenden, haben sowohl das CORE- als auch das CONFIG-Projekt Manifestdateien. Allerdings ist nur die Manifestdatei des CONFIG-Projekts bearbeitbar.

Sie können die Datei manifest.lkml des CONFIG-Projekts bearbeiten, um Projektparameter zu den Parametern hinzuzufügen, die bereits in der Manifestdatei des CORE-Projekts enthalten sind. Sie können beispielsweise eine local_dependency hinzufügen, um Ihren Block mit einem anderen Block in derselben Looker-Instanz zu verknüpfen.

Werte für Konstanten aktualisieren

Die Konstanten des Blocks sind in der Manifestdatei des importierten CORE-Projekts definiert. Das Überschreiben des Werts einer Konstanten muss, sofern zulässig, während der Konfiguration auf der Marketplace-Benutzeroberfläche während der Konfiguration oder durch Aktualisieren des Blocks erfolgen. Nutzer benötigen die Berechtigungen develop, manage_models und deploy, um einen Block zu aktualisieren.

So überschreiben Sie den Wert einer Konstanten durch Aktualisieren eines Blocks:

  1. Rufen Sie im Looker Marketplace den Block auf, den Sie aktualisieren möchten.
  2. Klicken Sie auf die Schaltfläche Verwalten.
  3. Klicken Sie neben dem Namen des Blocks, den Sie aktualisieren möchten, auf das Zahnradsymbol. Dadurch wird das Fenster zur Blockkonfiguration geöffnet.
  4. Nehmen Sie nach Bedarf Änderungen an den Konstantenwerten vor.
  5. Klicken Sie auf Aktualisieren , um das Fenster zur Blockkonfiguration zu schließen und den Block mit Ihren Änderungen zu aktualisieren.

Ihre Änderungen werden in der schreibgeschützten Datei marketplace_lock.lkml in Ihrem installierten Projekt widergespiegelt.

Anpassungen aus einem Marketplace-Block beibehalten, der „extends“ verwendet

Einige der Blöcke, die im Looker Marketplace verfügbar sind, bestehen aus Projekten, die LookML-„extends“ verwenden. Looker konvertiert alle Marketplace-Blöcke für Instanzen in Looker 21.8 oder höher in eine Projektstruktur, die LookML-Verfeinerungen verwendet, und entfernt die Unterstützung für Blöcke, die auf „extends“ basieren.

Looker empfiehlt, die auf Verfeinerungen basierende Version aller Marketplace-Blöcke, die Sie in Ihrer Instanz haben, zu installieren, sobald diese verfügbar sind, und Blöcke zu ersetzen, die mit „extends“ erstellt wurden. Dieser Ersatzprozess ist einfach: Sie können den neuen (Verfeinerungs-)Block aus dem Looker Marketplace-Blockeintrag installieren und den ursprünglichen (Erweiterungs-)Block auf der Seite Verwalten im Looker Marketplace deinstallieren. Dabei werden jedoch keine Anpassungen beibehalten, die möglicherweise am Block vorgenommen wurden, der mit „extends“ erstellt wurde. Looker überträgt auch keine Looker-Inhalte oder -Funktionen, die auf diesen Inhalten basieren (Dashboards, Explores, geplante Inhaltsbereitstellungen, Benachrichtigungen), vom ursprünglichen Block zum neuen Block.

In diesem Abschnitt wird beschrieben, wie Sie alle Anpassungen an einem Block beibehalten, der mit Projekten erstellt wurde, die „extends“ verwenden. Andernfalls wäre es schwierig oder zeitaufwendig, diese Anpassungen von Grund auf neu zu erstellen.

Damit die Anpassungen Ihres Blocks beibehalten werden, muss ein Nutzer, der Pakete aus dem Marketplace installieren und verwalten kann, die folgenden Schritte ausführen:

  1. CONFIG-Projekt des ursprünglichen Blocks für die Migration vorbereiten
  2. Neue Version des Blocks aus dem Looker Marketplace installieren
  3. Anpassungen auf den neuen Marketplace-Block übertragen
  4. Looker-Inhalte basierend auf dem ursprünglichen Block neu erstellen
  5. Version des Blocks deinstallieren, die mit „extends“ erstellt wurde

Angepassten Block für die Migration aktualisieren

In diesem Abschnitt wird beschrieben, wie Sie wichtige Projektdateien in einem Block aktualisieren, der mit „extends“ erstellt wurde, damit Sie die Anpassungen des Blocks in eine neue, auf Verfeinerungen basierende Version des Blocks kopieren können. Ein Block, der auf einem Projekt mit „extends“ basiert, wird aus dem Marketplace als schreibgeschütztes CORE-Projekt und bearbeitbares CONFIG-Projekt installiert.

  1. Rufen Sie das CONFIG-Projekt des Blocks im Bereich Entwickeln auf. Dazu haben Sie folgende Möglichkeiten:

    • Klicken Sie auf die Option Projekte und dann auf den Namen des Projekts.
    • Klicken Sie in der Projektliste auf den Namen des CONFIG-Projekts des Blocks.

    CONFIG-Projektnamen enden in der Regel mit _config, während der Name des CORE-Projekts in der Regel kein Suffix hat.

  2. Öffnen Sie die Modelldatei des Projekts. Sie könnte so aussehen:


    explore: ga_sessions_config {
      extends: [ga_sessions_core]
      extension: required
      join: user_sales_data {
        sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
      }
      join: sales__by__category {
        sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
      }
    }

    explore: future_input_config {
      extends: [future_input_core]
      extension: required
      join: future_purchase_prediction {
        type: left_outer
        sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
        relationship: one_to_one
      }
    }

  1. Führen Sie im Entwicklungsmodus die folgenden Schritte aus:

    1. Löschen Sie die gesamten Zeilen extends und extension.
    2. Löschen Sie _config aus den Namen der explore.
    3. Stellen Sie den Namen der explore ein + voran.

    Das vorherige Beispiel für eine Modelldatei würde so aussehen:


    explore: +ga_sessions {
      join: user_sales_data {
        sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
      }
      join: sales__by__category {
        sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
      }
    }

    explore: +future_input {
      join: future_purchase_prediction {
        type: left_outer
        sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
        relationship: one_to_one
      }
    }

  1. Kopieren Sie den Inhalt dieser Datei und bewahren Sie ihn für einen späteren Schritt auf.

Neuen Marketplace-Block installieren

Ein Block, der auf einem Projekt mit Verfeinerungen basiert, wird aus dem Marketplace als einzelnes, bearbeitbares LookML-Projekt installiert, das das Projekt mit dem gesamten LookML und der konstanten Parametrisierung remote importiert.

  1. Wählen Sie in der Looker-Menüleiste das Shopsymbol aus, um zum Looker Marketplace zu wechseln.
  2. Klicken Sie auf den Eintrag für den neuen, auf Verfeinerungen basierenden Marketplace-Block. Dieser Block hat denselben Namen wie der vorhandene Block, der mit „extends“ erstellt wurde.
  3. Klicken Sie auf Installieren , um den neuen Block zu installieren. Nachdem dieser Block installiert wurde, werden auf der Seite Verwalten des Looker Marketplace zwei identische Einträge angezeigt.

Anpassungen auf den neuen Marketplace-Block übertragen

In diesem Abschnitt wird beschrieben, wie Sie die Änderungen, die Sie am ursprünglichen (Erweiterungs-)Block vorgenommen haben, in den neuen (Verfeinerungs-)Block übertragen.

  1. Öffnen Sie im Bereich Entwickeln das Projekt des neuen Blocks. Dazu haben Sie folgende Möglichkeiten:

    • Klicken Sie auf die Option Projekte und dann auf den Namen des Projekts.
    • Klicken Sie in der Projektliste auf den Namen des Projekts des Blocks.

    Dem Namen eines Marketplace-Verfeinerungsblocks wird in der Regel marketplace_ vorangestellt, gefolgt von der Eintrags-ID.

  2. Fügen Sie in der Datei refinements.lkml den aktualisierten Inhalt aus der Modelldatei des ursprünglichen (Erweiterungs-)Blocks ein. Behalten Sie alle include-Anweisungen bei, die bereits in der Verfeinerungsdatei enthalten sind.

Looker-Inhalte basierend auf dem ursprünglichen Block neu erstellen

Der letzte Schritt bei der Einführung der auf Verfeinerungen basierenden Version eines Marketplace-Blocks ist die Deinstallation der ursprünglichen, auf „extends“ basierenden Version des Blocks. Einige auf „extends“ basierende Blöcke enthalten vorgefertigte LookML-Dashboards und Explores. Wenn Nutzer Benachrichtigungen oder geplante Bereitstellungen erstellt haben, die auf LookML-Dashboards basieren, die im ursprünglichen (Erweiterungs-)Block definiert sind, werden diese Benachrichtigungen oder Zeitpläne deaktiviert bzw. schlagen fehl, sobald dieser Block aus dem Looker Marketplace deinstalliert wird.

Sie müssen diese Benachrichtigungen oder geplanten Bereitstellungen in den LookML-Dashboards des neuen (Verfeinerungs-)Blocks neu erstellen. Looker-Administratoren und Nutzer mit den entsprechenden Berechtigungen für Zeitpläne und Benachrichtigungen können im Administratorbereich auf den Seiten Benachrichtigungen und Zeitpläne nach den Namen der Dashboards des (Erweiterungs-)Blocks suchen und dann nach Bedarf neue Benachrichtigungen oder geplante Bereitstellungen in den entsprechenden Dashboards des (Verfeinerungs-)Blocks erstellen.

Außerdem müssen Sie alle anderen Looker-Inhalte, die auf die Explores oder LookML-Dashboards des ursprünglichen (Erweiterungs-)Blocks verweisen, nach Bedarf so ändern, dass sie auf den neuen (Verfeinerungs-)Block verweisen.

Ursprünglichen Block deinstallieren

So deinstallieren Sie die Version des Blocks, die mit „extends“ erstellt wurde:

  1. Wählen Sie in der Looker-Menüleiste das Shopsymbol aus, um zum Looker Marketplace zu wechseln.

  2. Wählen Sie im Looker Marketplace in der linken Navigationsleiste Verwalten aus, um die Seite Verwalten zu öffnen.

  3. Klicken Sie auf der Seite Verwalten auf das Papierkorbsymbol, um den ursprünglichen (Erweiterungs-)Block zu deinstallieren. Sie können die Liste der Erweiterungsblöcke von der Liste der Verfeinerungsblöcke anhand der Versionsnummern unterscheiden. Der Erweiterungsblock ist eine Hauptversion hinter dem Verfeinerungsblock. Der Erweiterungsblock kann beispielsweise die Version 1.0.4 und der Verfeinerungsblock die Version 2.0.0 haben.

Fehlerbehebung bei einem Block

Wenn bei einem Marketplace-Block Fehler angezeigt werden, stimmt Ihr Schema möglicherweise nicht mit der Struktur des Blocks überein.

Prüfen Sie auch, ob die Konstanten, die während der Installation des Blocks angegeben wurden und die die Verbindung, Datenbank oder das Schema des Blocks darstellen, korrekt definiert wurden. Gehen Sie hierzu folgendermaßen vor:

  1. Wählen Sie in der Looker-Menüleiste das Shopsymbol aus, um zum Looker Marketplace zu wechseln.

  2. Wählen Sie im Looker Marketplace im Hauptnavigationsbereich Verwalten aus, um die Seite Verwalten zu öffnen.

  3. Klicken Sie auf der Seite Verwalten auf das Zahnradsymbol des Blocks, um die Konfigurationseinstellungen aufzurufen.

  4. Prüfen Sie im Fenster Konfigurationen aktualisieren, ob der Block korrekt konfiguriert ist. Klicken Sie nach allen Änderungen auf Aktualisieren , um Ihre Änderungen zu speichern und das Fenster zur Blockkonfiguration zu schließen.