Looker Marketplace-Blöcke anpassen

Looker BlocksTM sind vorgefertigte Datenmodelle für gängige Analysemuster und Datenquellen. Auf dieser Seite wird beschrieben, wie Entwickler Looker Blocks, die über den Looker Marketplace installiert werden, anpassen. 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.

Weitere Informationen zu allen verfügbaren Looker Blocks, einschließlich Blöcken, die derzeit nicht im Looker Marketplace verfügbar sind, sowie zu alternativen Methoden zur Anpassung von Blöcken finden Sie auf der Dokumentationsseite Looker Blocks.

Anforderungen für die Installation und Verwaltung von Looker Blocks aus dem Looker Marketplace

Bevor Sie einige Blöcke aus dem Looker Marketplace installieren und verwenden können, muss Ihr Looker-Administrator diese Funktionen aktivieren:

  • Wenn Sie Ihren Block über den Looker Marketplace installieren, muss Ihr Looker-Administrator die Funktion Marketplace aktivieren.
  • Wenn dieser Block einen local_dependency-Parameter enthält, muss Ihr Looker-Administrator auch die Labs-Funktion Lokaler Projektimport aktivieren. Diese Blöcke enthalten einen local_dependency-Parameter:

    • Digitale Marketinganalysen
    • Vertriebsanalytik
    • Webanalyse

Nutzer benötigen die Berechtigungen develop, manage_models und deploy, um Pakete aus dem Marketplace zu installieren und zu verwalten.

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

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

Blöcke, die auf Projekten basieren, die Suchfilter verwenden, werden aus dem Marketplace als einzelnes, bearbeitbares CONFIG-Projekt installiert, das per Remote-Zugriff das CORE-Projekt importiert, das den gesamten LookML-Code und die konstante Parametrisierung enthält.

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

Obwohl Sie das schreibgeschützte CORE-Projekt eines Blocks nicht direkt ändern können, sollten Sie beim Anpassen der CONFIG-Dateien des Blocks den LookML-Code, der in den schreibgeschützten CORE-Dateien des Blocks definiert ist, als Referenz verwenden. Sie können die CORE-Dateien des Blocks aufrufen, indem Sie in der IDE zu den Projektdateien des Blocks gehen und im IDE-Dateibrowser das imported_projects-Verzeichnis maximieren.

Dateistruktur blockieren

Wenn Sie einen Block installieren, der für Optimierungen erstellt wird, 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 an die Blockinstallation gebunden ist; ü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 und so Modellkonflikte zwischen mehreren Blockinstallationen vermieden.
manifest.lkml Kann für Nutzer mit develop-Berechtigungen bearbeitet werden Beschreibt das Projekt und seine externen Abhängigkeiten. Enthält die Marketplace-Eintrags-ID für die Blockinstallation und erleichtert 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 Schlüsselwort marketplace_ref aus der Manifestdatei, die den Remote-Import des CORE-Projekts verarbeitet. Gibt die spezifischen Listen-, Versions- und Modellinformationen an, die mit der Installation verknüpft sind. Enthält Informationen zu Konstanten, die während der Installation konfiguriert werden und über die Option Verwalten in der Marketplace-Benutzeroberfläche aktualisiert werden können.
refinements.lkml Kann für Nutzer mit develop-Berechtigungen bearbeitet werden Ermöglicht Entwicklern, die in den importierten CORE-Projektdateien definierten Ansichten und Explores zu verfeinern.

Marktplatzblocks anpassen

Aktivieren Sie den Entwicklungsmodus, um die bearbeitbaren Dateien des Blocks anzupassen.

Wenn Sie Berechtigungen des Typs develop haben, können Sie den LookML-Code in der Datei refinements.lkml des KONFIGURATIONSprojekts 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 in der refinements.lkml-Datei des Blocks möglich. Die Kombination aus Suchfilter und ursprünglichem LookML verhält sich so, als wäre es der ursprüngliche LookML-Code für das Objekt.

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

Sie sind nicht darauf beschränkt, diese Dateien zu ändern, um die gewünschten Anpassungen vorzunehmen. Sie können neue Dateien auch im CONFIG-Projekt erstellen – achten Sie aber darauf, alle neuen Dateien in der Datei refinements.lkml mit include zu versehen.

Datei mit Suchfiltern anpassen

Wenn Sie Berechtigungen vom Typ develop haben, können Sie dem Projekt CONFIG benutzerdefinierte LookML-Codes hinzufügen, um zusätzliche Daten hinzuzufügen oder das analytische Kernmodell des Blocks zu ändern. Sie können neue Ansichten erstellen und sie 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 diese in der Datei mit den Optimierungen mit include versehen.

Angenommen, Sie haben einen Block installiert, dessen refinements.lkml-Datei Folgendes enthält:

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

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

Sie können Optimierungen verwenden, um einer Ansicht mit dem Namen flights eine neue Dimension hinzuzufügen:

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

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

Sie können auch ein Label mit dem Namen aircraft auf ein Explore anwenden, sodass es in der Benutzeroberfläche als Flugzeug (vereinfacht) 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, die im Wesentlichen die Modelle aus dem CORE-Projekt importiert.

Weitere Informationen zu diesem Thema für Fortgeschrittene finden Sie in der Dokumentation zu LookML-Verfeinerungen.

Bearbeitbare Manifestdatei anpassen

In Blöcken mit Optimierungen haben sowohl das CORE- als auch das CONFIG-Projekt Manifestdateien. Es kann jedoch nur die Manifestdatei des CONFIG-Projekts bearbeitet werden.

Sie können die KONFIGURATION manifest.lkml-Datei bearbeiten, um den bereits in der Manifestdatei des CORE-Projekts angezeigten Projektparametern Projektparameter hinzuzufügen. Sie können beispielsweise einen local_dependency hinzufügen, um den Block mit einem anderen Block auf derselben Looker-Instanz join.

Bevor Sie einen Block mit einem local_dependency-Parameter verwenden oder darauf aufbauen können, muss ein Looker-Administrator zuerst die Labs-Funktion Lokaler Projektimport aktivieren.

Werte für Konstanten aktualisieren

Die constants des Blocks sind in der Manifestdatei des importierten CORE-Projekts definiert. Sofern zulässig, muss der Wert einer Konstante auf der Marketplace-Benutzeroberfläche während der Konfiguration oder durch Aktualisieren des Blocks überschrieben werden. Zum Aktualisieren einer Blockierung benötigen Nutzer die Berechtigungen develop, manage_models und deploy.

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

  1. Gehen Sie im Looker Marketplace zu dem Block, 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 für die Blockkonfiguration geöffnet.
  4. Nehmen Sie bei 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 widergespiegelt.

Beibehaltung der Anpassungen aus einem Marktplatzblock, der erweiterte

Einige der im Looker Marketplace verfügbaren Blöcke bestehen aus Projekten, die LookML-extends verwenden. Looker konvertiert alle Marketplace-Blöcke für Instanzen auf Looker 21.8 oder höher in eine Projektstruktur, die LookML-Verfeinerungen verwendet. Blöcke, die auf extends basieren, werden nicht mehr unterstützt.

Looker empfiehlt, dass Sie die auf Suchfilter basierende Version aller Marketplace-Blöcke auf Ihrer Instanz installieren, sobald diese Blöcke verfügbar werden. Blöcke, die durch Erweiterungen erstellt wurden, werden dann ersetzt. Der Ersatzprozess ist einfach: Sie können den neuen Block (Optimierungen) aus der Blockliste des Looker Marketplace installieren und den ursprünglichen Block (erweitert) auf der Seite Verwalten im Looker Marketplace deinstallieren. Eventuelle Anpassungen des Blocks, der mit erweiterten Funktionen erstellt wurde, bleiben erhalten. Looker überträgt auch keine Looker-Inhalte oder -Funktionen, die auf diesem Inhalt basieren, wie Dashboards, Explores, geplante Inhaltslieferungen, Warnungen, vom ursprünglichen Block auf den neuen Block.

In diesem Abschnitt wird beschrieben, wie Anpassungen an einem Block beibehalten werden können, der mit Projekten erstellt wurde, die Erweiterungen verwenden, deren Neureplikation nur schwer oder zeitaufwendig wäre.

Damit die Anpassungen Ihres Blocks erhalten bleiben, muss ein Nutzer, der die Berechtigung hat, Pakete aus dem Marketplace zu installieren und zu verwalten:

  1. Das KONFIG-Projekt des ursprünglichen Blocks aktualisieren, um die Migration vorzubereiten
  2. Neue Version des Blocks aus dem Looker Marketplace installieren
  3. Die Anpassungen in den neuen Marktplatzblock übertragen
  4. Looker-Inhalte basierend auf dem ursprünglichen Block neu erstellen
  5. Deinstalliere die Version des Blocks, der mit Erweiterungen erstellt wurde.

Benutzerdefinierten Block zur Vorbereitung auf die Migration aktualisieren

In diesem Abschnitt wird beschrieben, wie Sie wichtige Projektdateien in einem Block aktualisieren, der mit Erweiterungen erstellt wurde. So können Sie die Anpassungen des Blocks in eine neue, auf Optimierungen basierende Version des Blocks kopieren. Ein Block, der auf einem Projekt mit erweiterten Funktionen basiert, wird über den Marketplace als schreibgeschütztes CORE-Projekt und als bearbeitbares CONFIG-Projekt installiert.

  1. Navigieren Sie im Abschnitt Entwickeln mit einer der folgenden Methoden zum KONFIG-Projekt des Blocks:

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

    CONFIG-Projektnamen enden normalerweise auf _config, während der Name des CORE-Projekts normalerweise kein Suffix hat.

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


    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. Im Entwicklungsmodus:

    1. Löschen Sie die gesamten extends- und extension-Zeilen.
    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 Marktplatzblock installieren

Ein Block, der auf einem Projekt basiert, das Suchfilter verwendet, wird über den Marketplace als einzelnes, bearbeitbares LookML-Projekt installiert, das per Remote-Zugriff das Projekt mit dem gesamten LookML-Code und der konstanten Parametrisierung importiert.

  1. Wählen Sie das Shop-Symbol in der Looker-Menüleiste aus, um zum Looker Marketplace zu gelangen.
  2. Klicken Sie auf den Eintrag für den neuen Marktplatzblock, der auf Optimierungen basiert. Dieser Block hat denselben Namen wie der vorhandene Block, der mit Erweiterungen erstellt wurde.
  3. Klicken Sie auf Installieren, um den neuen Block zu installieren. Nach der Installation dieses Blocks werden auf der Seite Verwalten des Looker Marketplace zwei identische Einträge angezeigt.

Anpassungen in den neuen Marktplatzblock übertragen

In diesem Abschnitt wird beschrieben, wie Sie die am ursprünglichen Block (erweitert) vorgenommenen Aktualisierungen in den neuen Block (Optimierungen) übertragen.

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

    • 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 Marktplatz-Verfeinerungsblocks wird in der Regel marketplace_, gefolgt von der Eintrags-ID, vorangestellt.

  2. Fügen Sie in der Datei refinements.lkml den aktualisierten Inhalt aus der Modelldatei des ursprünglichen (erweitern) Blocks ein. Bewahren Sie alle include-Anweisungen auf, die sich bereits in der Suchfilter-Datei befinden.

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

Der letzte Schritt bei der Übernahme der auf Suchfilter basierenden Version eines Marketplace-Blocks besteht darin, die ursprüngliche Erweiterungs-basierte Version des Blocks zu deinstallieren. Einige erweiterbare Blöcke enthalten vordefinierte LookML-Dashboards und Explores. Wenn Nutzer Benachrichtigungen oder geplante Übermittlungen erstellt haben, die auf LookML-Dashboards basieren, die im ursprünglichen Block (erweitert) 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 Warnungen oder geplante Lieferungen 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 auf den Seiten Benachrichtigungen und Zeitpläne im Bereich „Verwaltung“ nach den Namen der Dashboards des (erweiterten) Blocks suchen und dann nach Bedarf neue Benachrichtigungen oder geplante Lieferungen in den entsprechenden Dashboards des Blocks (Optimierungen) erstellen.

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

Ursprünglichen Block deinstallieren

So deinstallieren Sie die Version des Blocks, der mit Erweiterungen erstellt wurde:

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

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

  3. Klicken Sie auf der Seite Verwalten auf das Papierkorbsymbol, um den ursprünglichen Block (erweitert) zu deinstallieren. Anhand der Versionsnummern können Sie die Erweiterungsblockliste von der Suchfilter-Blockliste unterscheiden. Der Erweiterungsblock liegt eine Hauptversion hinter dem Suchfilterblock. Der Erweiterungsblock kann beispielsweise die Version 1.0.4 und der Block für Optimierungen die Version 2.0.0 sein.

Nach der Deinstallation des Blocks wird die ursprüngliche (erweiterte) Blockliste aus der linken Navigationsleiste in der Looker-Instanz entfernt. Die zugehörigen Explores werden aus dem Bereich Explore entfernt und die zugehörigen LookML-Dashboards werden aus dem Ordner LookML-Dashboards entfernt. Benachrichtigungen oder geplante Übermittlungen, die auf den LookML-Dashboards des Blocks basieren, werden deaktiviert bzw. schlagen fehl.

Fehlerbehebung bei Blockierungen

Wenn für einen Marktplatzblock Fehler angezeigt werden, stimmt Ihr Schema möglicherweise nicht mit der Struktur des Blocks überein.

Sie können auch prüfen, ob die constants, die während der Installation des Blocks bereitgestellt wurden und die Verbindung, Datenbank oder Schema des Blocks darstellen, korrekt definiert wurden. Dazu haben Sie folgende Möglichkeiten:

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

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

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

  4. Prüfen Sie im Fenster Konfigurationen aktualisieren, ob die Blockierung richtig konfiguriert ist. Klicken Sie auf Aktualisieren, nachdem Sie Änderungen vorgenommen haben, um die Änderungen zu speichern und das Fenster für die Blockkonfiguration zu schließen.