Looker Marketplace-Blöcke anpassen

Looker BlocksTM sind vorgefertigte Datenmodelle für gängige analytische Muster 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 zum Suchen, Bereitstellen und Verwalten vieler Arten von Looker-Inhalten wie Anwendungen, Visualisierungen und Plug-ins.

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

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, muss Ihr Looker-Administrator diese Funktionen aktivieren:

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

    • Digitale Marketing-Analyse
    • 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 Blocks aus dem Looker Marketplace finden Sie auf der Dokumentationsseite des Looker Marketplace.

Auf die LookML für einen Marketplace-Block zugreifen

Blöcke, die auf Projekten basieren, in denen Verfeinerungen verwendet werden, werden über den Marketplace als einzelnes bearbeitbares CONFIG-Projekt installiert, das das CORE-Projekt per Remotezugriff importiert. Dieses enthält den gesamten LookML-Code und die Konstantenparametrierung.

Nachdem ein Block aus dem 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 Blocks mit Marketplace-Eingrenzungen 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, können Sie den LookML-Code, der in den schreibgeschützten CORE-Dateien des Blocks definiert ist, als Referenz verwenden, wenn Sie die CONFIG-Dateien des Blocks anpassen. 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 Verzeichnis imported_projects maximieren.

Dateistruktur blockieren

Wenn Sie einen Block installieren, der für Verfeinerungen entwickelt wurde, werden diese Dateien automatisch im CONFIG-Teil 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. 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 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 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. Liefert die spezifischen Auflistungs-, Versions- und Modellinformationen, die mit der Installation verknüpft sind. Enthält Informationen zu Konstanten, die während der Installation konfiguriert werden und über die Option Verwalten auf der Marketplace-Benutzeroberfläche aktualisiert werden können
refinements.lkml Kann von Nutzern mit develop-Berechtigungen bearbeitet werden Ermöglicht Entwicklern, die in den importierten CORE-Projektdateien definierten Ansichten und Explores zu verfeinern.

Marktplatzblock anpassen

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

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 im CORE-Projekt des Blocks bereits definierten Datenansichten und explorativen Datenanalysen verfeinern oder neue Datenansichten und explorative Datenanalysen hinzufügen, die im CORE-Projekt noch nicht 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 dem Suchfilter 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 Datei manifest.lkml des Projekts „CONFIG“ vornehmen, um alle Abhängigkeiten anzugeben, die für diesen Block erfasst werden müssen.

Sie sind nicht darauf beschränkt, diese Dateien zu ändern, um die von Ihnen gewünschten Anpassungen zu erzielen. Sie können auch neue Dateien im Projekt CONFIG erstellen. Achten Sie darauf, dass Sie neue Dateien in der Datei refinements.lkml mit include versehen.

Datei mit Optimierungen anpassen

Wenn Sie die Berechtigung develop haben, können Sie dem CONFIG-Projekt benutzerdefinierte LookML hinzufügen, um zusätzliche Daten einzubinden oder das zentrale Analysemodell 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 Analyse zu erstellen, die Sie bereitstellen möchten. Wenn Sie im CONFIG-Projekt neue Dateien erstellt haben, müssen Sie sie in der Datei „Verfeinerungen“ include.

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

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

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

Mithilfe von Suchfiltern 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 ;;
  }
}

Sie können auch ein Label auf ein Explore namens aircraft anwenden, damit es in der Benutzeroberfläche als Flugzeuge – 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 das Feld "Virtual" des Blocks eingefügt , mit der die Modelle aus dem CORE-Projekt importiert werden.

Weitere Informationen zu diesem Thema für Fortgeschrittene 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 den Projektparametern, die bereits in der Manifestdatei des CORE-Projekts enthalten sind, weitere hinzuzufügen. Sie können beispielsweise ein local_dependency hinzufügen, um Ihren Block mit einem anderen Block in derselben Looker-Instanz zu verknüpfen.

Bevor Sie einen Block mit einem local_dependency-Parameter verwenden oder darauf aufbauen können, muss ein Looker-Administrator die Labs-Funktion für den Import lokaler Projekte aktivieren.

Werte für Konstanten aktualisieren

Die Konstanten des Blocks sind in der Manifestdatei des importierten CORE-Projekts definiert. Der Wert einer Konstante kann, sofern zulässig, in der Marketplace-Benutzeroberfläche während der Konfiguration oder durch Aktualisieren des Blocks überschrieben werden. Zum Aktualisieren eines Blocks 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 „Blockkonfiguration“ geöffnet.
  4. Nehmen Sie nach Bedarf Änderungen an den Konstanten 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 mit „extends“ beibehalten

Einige der im Looker Marketplace verfügbaren Blöcke bestehen aus Projekten, die LookML-Erweiterungen verwenden. Looker wandelt alle Marketplace-Blocks für Instanzen mit Looker 21.8 oder höher in eine Projektstruktur um, die LookML-Verfeinerungen verwendet. Die Unterstützung für Blöcke, die auf Erweiterungen basieren, wird eingestellt.

Looker empfiehlt, die auf Verfeinerungen basierende Version aller Marketplace-Blöcke in Ihrer Instanz zu installieren, sobald diese Blöcke verfügbar sind. Ersetzen Sie dabei Blöcke, die mit „extends“ erstellt wurden. Dieser Ersatz ist zwar einfach: Sie können den neuen Block (Optimierungen) über den Eintrag des Looker Marketplace-Blocks installieren und den ursprünglichen Block (Erweiterungen) auf der Seite Verwalten im Looker Marketplace deinstallieren. Anpassungen, die möglicherweise am Block mit erweiterten Erweiterungen vorgenommen wurden, bleiben erhalten. Looker überträgt auch keine Looker-Inhalte oder -Funktionen, die auf diesem Inhalt basieren – Dashboards, Explores, geplante Inhaltslieferungen, Benachrichtigungen – vom ursprünglichen Block in den neuen Block.

In diesem Abschnitt wird beschrieben, wie Anpassungen an einem Block beibehalten werden, der mit Projekten erstellt wurde, die Erweiterungen verwenden, die andernfalls schwierig oder zeitaufwendig zu replizieren wären.

Damit die Anpassungen des Blocks beibehalten werden, muss ein Nutzer mit der Berechtigung zum Installieren und Verwalten von Paketen aus dem Marktplatz Folgendes tun:

  1. CONFIG-Projekt des ursprünglichen Blocks aktualisieren, um die Migration vorzubereiten
  2. Neue Version des Blocks aus dem Looker Marketplace installieren
  3. Anpassungen in 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

Benutzerdefinierten Block zur Vorbereitung auf die Migration aktualisieren

In diesem Abschnitt wird beschrieben, wie wichtige Projektdateien in einem Block aktualisiert werden, der mit erweiterten Erweiterungen erstellt wurde, sodass Sie die Anpassungen des Blocks in eine neue, auf Optimierungen basierende Version des Blocks kopieren können. Ein Block, der auf einem Projekt basiert, das „extends“ verwendet, wird über den Marktplatz als schreibgeschütztes CORE-Projekt und als bearbeitbares CONFIG-Projekt installiert.

  1. Rufen Sie das CONFIG-Projekt des Blocks 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 normalerweise mit _config, während der Name des CORE-Projekts normalerweise kein Suffix hat.

  2. Öffnen Sie die Modelldatei des Projekts, die ungefähr 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. Im Entwicklermodus:

    1. Löschen Sie die gesamten Zeilen extends und extension.
    2. Löschen Sie _config aus den explore-Namen.
    3. Fügen Sie den Namen der explore-Elemente das Präfix + hinzu.

    Das Beispiel für die vorherige 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 basiert, das Suchfilter verwendet, wird vom Marketplace als einzelnes, bearbeitbares LookML-Projekt installiert, das das Projekt mit sämtlichen LookML-Codes und konstanter Parametrisierung remote 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, auf Verfeinerungen basierenden Marktplatz-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 sehen Sie auf der Seite Verwalten des Looker Marketplace zwei identische Einträge.

Anpassungen auf den neuen Marketplace-Block übertragen

In diesem Abschnitt wird beschrieben, wie Sie die Aktualisierungen, die Sie am ursprünglichen Block (Erweitert) vorgenommen haben, in den neuen Block (Verfeinerungen) übertragen.

  1. Öffnen Sie im Bereich Entwickeln 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 Blockprojekts.

    Dem Namen eines Blocks der Optimierungen im Marktplatz wird normalerweise marketplace_ vorangestellt, gefolgt von der Eintrags-ID.

  2. Fügen Sie in die Datei refinements.lkml den aktualisierten Inhalt aus der Modelldatei des ursprünglichen Blocks (erweitert) ein. Behalten Sie alle include-Anweisungen bei, die sich bereits in der Datei mit den Verfeinerungen befinden.

Looker-Inhalte anhand des ursprünglichen Blocks neu erstellen

Der letzte Schritt bei der Einführung einer auf Optimierungen basierenden Version eines Marktplatzblocks besteht darin, die ursprüngliche Erweiterungsversion des Blocks zu deinstallieren. Einige erweiterte Blöcke enthalten vorgefertigte LookML-Dashboards und Explores. Wenn Nutzer Benachrichtigungen oder geplante Übermittlungen erstellt haben, die auf LookML-Dashboards basieren, die im ursprünglichen Block (extends) definiert sind, werden diese Benachrichtigungen oder Zeitpläne deaktiviert oder fehlschlagen, sobald dieser Block aus dem Looker Marketplace deinstalliert wird.

Sie müssen diese Benachrichtigungen oder geplanten 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 die Benachrichtigungen und Zeitpläne im Bereich „Verwaltung“, um nach den Namen der Dashboards des Blocks (erweitert) zu suchen und dann nach Bedarf neue Benachrichtigungen oder geplante Lieferungen in den entsprechenden Dashboards des Blocks (Verfeinerungen) zu erstellen.

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

Ursprünglichen Block deinstallieren

So deinstallieren Sie die Version des Blocks, die mit „extends“ 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 die ursprüngliche Blockierung (Erweiterung) zu deinstallieren. Du kannst die Blockierungsliste für Erweiterungen von der Liste der Suchfilter unterscheiden, indem du dir die Versionsnummern ansiehst. Der Block „extends“ ist eine Hauptversion hinter dem Block „refinements“. Der Block „Erweitert“ hat beispielsweise Version 1.0.4 und der Block „Optimierungen“ Version 2.0.0.

Nach der Deinstallation des Blocks wird der ursprüngliche Blockeintrag (erweitert) aus der linken Navigationsleiste der Looker-Instanz entfernt, die zugehörigen Explores aus dem Bereich Explore und die LookML-Dashboards aus dem Ordner LookML-Dashboards. Alle Benachrichtigungen oder geplanten Übermittlungen, die auf den LookML-Dashboards des Blocks basieren, werden deaktiviert oder fehlschlagen.

Fehlerbehebung bei einer Blockierung

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

Prüfen Sie außerdem, ob die Konstanten, die bei der Installation des Blocks angegeben wurden und die Verbindung, Datenbank oder das Schema des Blocks darstellen, richtig definiert wurden. Dazu haben Sie folgende Möglichkeiten:

  1. Klicken Sie in der Looker-Menüleiste auf das Einkaufswagensymbol, um den Looker Marketplace aufzurufen.

  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 des Blocks, um die Konfigurationseinstellungen aufzurufen.

  4. Prüfen Sie im Fenster Konfigurationen aktualisieren, ob der Block richtig konfiguriert ist. Klicken Sie nach dem Anwenden von Änderungen auf Aktualisieren, um sie zu speichern und das Fenster für die Blockkonfiguration zu schließen.