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 über den 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 finden, bereitstellen und verwalten können.

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

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

Beachten Sie die folgenden Anforderungen, bevor Sie einige Blocks aus dem Looker Marketplace installieren und verwenden:

  • 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 vom Marketplace zu installieren und zu verwalten.
  • Wenn der jeweilige Block den Parameter local_dependency enthält, wird der lokale Projektimportprozess verwendet. Weitere Informationen zum Importieren von Projekten finden Sie auf der Dokumentationsseite Dateien aus anderen Projekten importieren. Die folgenden Blöcke enthalten einen local_dependency-Parameter:

    • Digitale Marketinganalysen
    • Vertriebsanalytik
    • Webanalyse

Weitere Informationen zum Installieren und Verwalten von Looker-Blocks aus dem Looker Marketplace finden Sie auf der Dokumentationsseite Looker Marketplace.

Auf den LookML-Code für einen Marketplace-Block zugreifen

Blöcke, die auf Projekten mit Verfeinerungen basieren, werden über den Marketplace installiert. Sie sind ein einzelnes, bearbeitbares CONFIG-Projekt, in das das CORE-Projekt, das den gesamten LookML-Code und die konstante Parametrisierung enthält, per Remote-Import importiert wird.

Nachdem ein Block über den Marketplace installiert wurde, können Sie über das Menü Entwickeln auf das zugehörige Projekt zugreifen. Klicken Sie dazu in der Projektliste auf den Namen des Projekts. Dem Namen eines Marketplace-Optimierungsblocks wird in der Regel marketplace_ vorangestellt, gefolgt von der Angebots-ID.

Sie können das schreibgeschützte CORE-Projekt eines Blocks zwar nicht direkt ändern, aber die in den schreibgeschützten CORE-Dateien des Blocks definierte LookML 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 Dateibrowser der IDE das Verzeichnis imported_projects maximieren.

Blockstruktur

Wenn Sie einen Block installieren, der für Verfeinerungen entwickelt wurde, werden diese Dateien automatisch als Teil des CONFIG-Abschnitts 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 übernimmt 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 Kann von Nutzern mit develop-Berechtigungen bearbeitet werden 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 Keyword marketplace.
marketplace_lock.lkml Schreibgeschützt für alle Nutzer Enthält einen Verweis auf das Schlüsselwort marketplace_ref aus der Manifestdatei, die den Remote-Import des CORE-Projekts verarbeitet. Enthält die spezifischen Informationen zu Eintrag, Version und Modell, die mit der Installation verknüpft sind. Enthält Informationen zu Konstanten, die während der Installation konfiguriert werden und die über die Option Verwalten in der Marketplace-Benutzeroberfläche aktualisiert werden können.
refinements.lkml Kann von Nutzern mit develop-Berechtigungen bearbeitet werden Damit können Entwickler Ansichten und Explores optimieren, die in den importierten CORE-Projektdateien definiert sind.

Marketplace-Block anpassen

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

Wenn Sie die Berechtigung develop haben, können Sie die LookML in der Datei refinements.lkml des CONFIG-Projekts des Blocks anpassen. Sie können die Ansichten und Explores, die bereits im CORE-Projekt des Blocks definiert sind, optimieren 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 refinements.lkml-Datei des Blocks möglich. Die Kombination aus der Verfeinerung und dem ursprünglichen LookML-Code verhält sich so, als wäre sie der ursprüngliche LookML-Code für das Objekt.

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

Sie können auch andere Dateien ändern, um die gewünschten Anpassungen vorzunehmen. Sie können auch neue Dateien im CONFIG-Projekt erstellen. Achten Sie nur darauf, dass Sie alle neuen Dateien in der Datei refinements.lkml include.

Datei mit Verfeinerungen anpassen

Wenn Sie über die Berechtigung develop verfügen, 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 in der Datei mit den Verfeinerungen include.

Angenommen, Sie haben einen Block installiert und seine refinements.lkml-Datei enthält den folgenden LookML-Code:

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 mit dem Namen 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 ein Explore mit dem Namen aircraft anwenden, damit es 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 wird automatisch in die „virtuelle“ Modelldatei des Blocks eingefügt, in der die Modelle aus dem CORE-Projekt importiert werden.

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

Bearbeitbare Manifestdatei anpassen

In Blöcken, in denen Verfeinerungen verwendet werden, haben sowohl das CORE- als auch das CONFIG-Projekt Manifestdateien. Allerdings kann nur die Manifestdatei des CONFIG-Projekts bearbeitet werden.

Sie können die CONFIG-Datei manifest.lkml bearbeiten, um Projektparameter hinzuzufügen, die bereits in der Manifestdatei des CORE-Projekts enthalten sind. Sie können beispielsweise ein local_dependency zum Verknüpfen Ihres Blocks mit einem anderen Block in derselben Looker-Instanz hinzufügen.

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 in der Marketplace-Benutzeroberfläche oder durch Aktualisieren des Blocks erfolgen. Zum Aktualisieren eines Blocks benötigen Nutzer die Berechtigungen develop, manage_models und deploy.

So überschreiben Sie den Wert einer Konstanten, indem Sie einen Block aktualisieren:

  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 konstanten Werten vor.
  5. Klicken Sie auf Aktualisieren, um das Fenster für die 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 übernommen.

Anpassungen eines Marketplace-Blocks beibehalten, der „extends“ verwendet

Einige der im Looker Marketplace verfügbaren Blöcke bestanden aus Projekten, in denen extends verwendet wurde. Looker konvertiert alle Marketplace-Blöcke für Instanzen in Looker 21.8 oder höher in eine Projektstruktur, in der LookML-Verfeinerungen verwendet werden. Die Unterstützung für Blöcke, die auf extends basieren, wird entfernt.

Looker empfiehlt, die auf Verfeinerungen basierende Version aller Marketplace-Blöcke, die Sie in Ihrer Instanz haben, zu installieren, sobald diese Blöcke verfügbar sind. Dadurch werden Blöcke ersetzt, die mit „extends“ erstellt wurden. Dieser Austausch ist zwar einfach – Sie können den neuen Block (Refinements) über die Looker Marketplace-Blockliste installieren und den ursprünglichen Block (Extends) auf der Seite Verwalten im Looker Marketplace deinstallieren –, aber alle Anpassungen, die am Block mit „Extends“ vorgenommen wurden, gehen dabei verloren. Looker überträgt auch keine Looker-Inhalte oder Funktionen, die auf diesen Inhalten basieren, vom ursprünglichen Block in den neuen Block, z. B. Dashboards, Explores, geplante Inhaltsübermittlungen und Benachrichtigungen.

In diesem Abschnitt wird beschrieben, wie Sie 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 erhalten bleiben, muss ein Nutzer mit der Berechtigung zum Installieren und Verwalten von Paketen aus dem Marketplace die folgenden Schritte ausführen:

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

Benutzerdefinierten 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 basiert, das „extends“ verwendet, wird aus dem Marketplace als schreibgeschütztes CORE-Projekt und als bearbeitbares CONFIG-Projekt installiert.

  1. Rufen Sie das CONFIG-Projekt des Blocks über den Bereich Entwickeln auf eine der folgenden Arten auf:

    • Klicken Sie auf die Option Projekte und dann auf den Namen des Projekts.
    • Klicken Sie in der Liste der Projekte 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, die in etwa so aussehen kann:


    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 Entwicklermodus die folgenden Schritte aus:

    1. Löschen Sie die gesamten Zeilen extends und extension.
    2. Löschen Sie _config aus den explore-Namen.
    3. Stellen Sie den explore-Namen + 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, in dem das Projekt mit allen LookML- und Konstantenparametern remote importiert wird.

  1. Wählen Sie in der Looker-Menüleiste das Shopsymbol aus, um den Looker Marketplace aufzurufen.
  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. Nach der Installation dieses Blocks werden im Looker Marketplace auf der Seite Verwalten 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 Block („extends“) vorgenommen haben, in den neuen Block („refinements“) übertragen.

  1. Öffnen Sie das Projekt des neuen Blocks im Bereich Entwickeln auf eine der folgenden Arten:

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

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

  2. Fügen Sie in die Datei refinements.lkml die aktualisierten Inhalte aus der Modelldatei des ursprünglichen (extends)‑Blocks ein. Behalten Sie alle include-Anweisungen bei, die bereits in der Datei mit den Verfeinerungen 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 besteht darin, die ursprüngliche, auf Erweiterungen basierende Version des Blocks zu deinstallieren. Einige auf „extends“ basierende Blöcke enthalten vorgefertigte LookML-Dashboards und ‑Explores. Wenn Nutzer Benachrichtigungen oder geplante Zustellungen erstellt haben, die auf LookML-Dashboards basieren, die im ursprünglichen (extends) 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 Zustellungen in den LookML-Dashboards des neuen Blocks (Verfeinerungen) 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 (extends)-Blocks suchen und dann bei Bedarf neue Benachrichtigungen oder geplante Zustellungen für die entsprechenden Dashboards des (refinements)-Blocks erstellen.

Außerdem müssen Sie alle anderen Looker-Inhalte, in denen auf die Explores oder LookML-Dashboards des ursprünglichen (extends) Blocks verwiesen wird, so ändern, dass sie auf den neuen (refinements) Block verweisen.

Originalblock 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 den Looker Marketplace aufzurufen.

  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 Block zu deinstallieren. Sie können die Blockierungsliste für Erweiterungen von der Blockierungsliste für Verfeinerungen anhand der Versionsnummern unterscheiden. Der „extends“-Block liegt eine Hauptversion hinter dem „refinements“-Block. Der Block „extends“ kann beispielsweise die Version 1.0.4 und der Block „refinements“ die Version 2.0.0 haben.

Blockierung beheben

Wenn in 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 bei der Installation des Blocks angegeben wurden und die Verbindung, Datenbank oder das Schema des Blocks darstellen, richtig definiert wurden. Gehen Sie hierzu folgendermaßen vor:

  1. Wählen Sie in der Looker-Menüleiste das Shopsymbol aus, um den Looker Marketplace aufzurufen.

  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 richtig konfiguriert ist. Klicken Sie nach dem Vornehmen von Änderungen auf Aktualisieren, um die Änderungen zu speichern und das Fenster für die Blockkonfiguration zu schließen.