Looker Marketplace-Blöcke anpassen

Looker BlocksTM sind vordefinierte 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 können. Der Looker Marketplace ist ein zentraler Ort zum Finden, Bereitstellen und Verwalten vieler Arten von Looker-Inhalten wie Anwendungen, Visualisierungen und Plug-ins.

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

Anforderungen für die Installation und Verwaltung von Looker Blocks über den 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 Marketplace-Funktion aktivieren.
  • Wenn der jeweilige Block einen local_dependency-Parameter enthält, muss Ihr Looker-Administrator außerdem die Funktion Lokales Projekt importieren Labs aktivieren. Diese Blöcke enthalten den Parameter local_dependency:

    • Analysen für digitales Marketing
    • 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 über den Looker Marketplace finden Sie in der Dokumentation zum Looker Marketplace.

LookML für einen Marktplatz blockieren

Blöcke, die auf Projekten mit Suchfiltern basieren, werden aus dem Marketplace installiert. Dabei handelt es sich um ein einzelnes, bearbeitbares CONFIG-Projekt, das remote das CORE-Projekt importiert, das den gesamten LookML-Code und die konstante Parametrisierung enthält.

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

Sie können das schreibgeschützte CORE-Projekt eines Blocks zwar nicht direkt ändern, aber Sie sollten das LookML, das 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 wechseln und das imported_projects-Verzeichnis im IDE-Dateibrowser maximieren.

Dateistruktur blockieren

Wenn Sie einen für die Verfeinerung erstellten Block installieren, werden diese Dateien automatisch als Teil des CONFIG-Teils des Blockprojekts erstellt:

Dateiname Zugriff Funktion
<model_name>.model.lkml Für alle Nutzer schreibgeschützt Virtuelle Modelldatei, die mit der Blockinstallation verknüpft ist. Der Import aller Modelle aus dem CORE-Projekt des Blocks wird verwaltet. Wenn ein Block deinstalliert oder aktualisiert wird, werden die zugehörige Modelldatei oder die zugehörigen Modelldateien gelöscht, um Modellkonflikte zwischen mehreren Blockinstallationen zu vermeiden.
manifest.lkml Kann für Nutzer mit develop-Berechtigungen bearbeitet werden Beschreibt das Projekt und seine externen Abhängigkeiten. Enthält die ID des Marketplace-Eintrags für die Blockinstallation und ermöglicht den Remote-Import der CORE-Projektdateien des Blocks über das Keyword marketplace.
marketplace_lock.lkml Für alle Nutzer schreibgeschützt Enthält einen Verweis auf das Keyword marketplace_ref aus der Manifestdatei, die den Remote-Import des CORE-Projekts verarbeitet. Zeigt die spezifischen Auflistungs-, Versions- und Modellinformationen an, die der Installation zugeordnet sind. Enthält Informationen zu Konstanten, die während der Installation konfiguriert werden und die mithilfe der Option Verwalten in der Marketplace-UI aktualisiert werden können.
refinements.lkml Kann für Nutzer mit develop-Berechtigungen bearbeitet werden Damit können Entwickler die in den importierten CORE-Projektdateien definierten Ansichten und explorativen Datenanalysen verfeinern.

Marktplatzblock anpassen

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

Wenn Sie Berechtigungen des Typs develop haben, können Sie LookML in der Datei refinements.lkml des CONFIG-Projekts des Blocks anpassen. Sie können die Ansichten und explorativen Datenanalysen, die bereits im CORE-Projekt des Blocks definiert sind, optimieren oder neue Ansichten und explorative Datenanalysen hinzufügen, die noch nicht im CORE-Projekt definiert sind. Alles, was mit LookML-Suchfiltern 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, als wäre es das ursprüngliche LookML 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 sind nicht berechtigt, diese Dateien so zu verändern, dass die gewünschten Anpassungen vorgenommen werden. Sie können auch neue Dateien im CONFIG-Projekt erstellen. Achten Sie aber darauf, mit include alle neuen Dateien in der Datei refinements.lkml zu speichern.

Datei für Suchfilter anpassen

Wenn Sie develop-Berechtigungen haben, können Sie benutzerdefiniertes LookML zum CONFIG-Projekt hinzufügen, um zusätzliche Daten hinzuzufügen oder das grundlegende Analysemodell des Blocks zu ändern. Sie können neue Datenansichten erstellen und mit vorhandenen Explores verknüpfen, neue Felder definieren oder vorhandene Felder neu definieren oder Labels anwenden, um ein Modell für die Analyse zu erstellen, die Sie bereitstellen möchten. Falls Sie im Projekt „CONFIG“ neue Dateien erstellt haben, müssen Sie diese in der Datei mit den Suchfiltern include freigeben.

Angenommen, Sie haben einen Block installiert und seine refinements.lkml-Datei 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.

Mithilfe von Suchfiltern können Sie einer Datenansicht 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 das Symbol „Erkunden“ mit dem Namen aircraft anwenden, damit 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 ist automatisch in die virtuelle Modelldatei des Blocks aufgenommen, mit der die Modelle im Grunde aus dem CORE-Projekt importiert werden.

Weitere Informationen zu diesem erweiterten Thema finden Sie in der Dokumentation zu LookML-Suchfiltern.

Bearbeitbare Manifestdatei anpassen

In Blöcken mit Suchfiltern 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-manifest.lkml-Datei bearbeiten, um Projektparameter zu den Parametern hinzuzufügen, die bereits in der Manifestdatei des CORE-Projekts vorhanden sind. Sie können beispielsweise einen local_dependency hinzufügen, um Ihren Block mit einem anderen Block auf derselben Looker-Instanz zu verknüpfen.

Bevor Sie einen Block mit dem Parameter local_dependency verwenden oder erstellen können, muss ein Looker-Administrator zuerst die Funktion Lokales Projekt importieren Labs aktivieren.

Werte für Konstanten aktualisieren

Die Konstanten des Blocks werden in der Manifestdatei des importierten CORE-Projekts definiert. Wenn Sie den Wert einer Konstanten überschreiben, müssen Sie dies ggf. in der Marketplace-UI während der Konfiguration oder durch Aktualisieren des Blocks tun. Wenn Sie eine Blockierung aktualisieren möchten, benötigen Sie die Berechtigungen develop, manage_models und deploy.

So überschreiben Sie einen Wert einer Konstante, 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. Daraufhin wird das Fenster mit der 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 die Änderungen zu übernehmen.

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

Beibehalten der Anpassungen von einem Marktplatzblock, der Erweiterungen verwendet

Einige der Blöcke aus dem Looker Marketplace bestehen aus Projekten, die LookML-Erweiterungen verwenden. Looker konvertiert alle Marketplace-Blöcke für Instanzen mit Looker 21.8 oder höher in eine Projektstruktur, die LookML-Suchfilter verwendet, und entfernt die Unterstützung für Blöcke, die auf Erweiterungen basieren.

Looker empfiehlt, die auf Suchfilter basierende Version von Marketplace-Blöcken, die Sie auf Ihrer Instanz verwenden, zu installieren, sobald diese Blöcke verfügbar sind. Damit werden Blöcke ersetzt, die aufgrund von Erweiterungen erstellt wurden. Dieser Ersatzvorgang ist zwar einfach, aber Sie können den neuen Block (Optimierungen) über den Looker Marketplace-Blockeintrag installieren und den ursprünglichen Block (Erweiterungen) auf der Seite Verwalten im Looker Marketplace deinstallieren. Dabei werden aber keine Anpassungen beibehalten, die an dem mit Erweiterungen erstellten Block vorgenommen wurden. Looker überträgt auch keine Looker-Inhalte oder -Funktionen, die auf diesen Inhalten basieren – Dashboards, Explores, geplante Inhaltsübermittlungen, Benachrichtigungen – aus dem ursprünglichen Block in den neuen Block.

In diesem Abschnitt wird beschrieben, wie Sie Anpassungen für einen Block beibehalten, der mit Projekten erstellt wurde, für die Erweiterungen verwendet werden, die von Grund auf neu oder schwer zu replizieren sind.

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

  1. Das CONFIG-Projekt des ursprünglichen Blocks aktualisieren, um die Migration vorzubereiten
  2. Neue Version des Blocks aus Looker Marketplace installieren
  3. Anpassungen auf die neue Marketplace-Blockierung übertragen
  4. Looker-Inhalte basierend auf dem ursprünglichen Block neu erstellen
  5. Version des mit erweiterten Erweiterungen erstellten Blocks deinstallieren

Benutzerdefinierten Block aktualisieren, um die Migration vorzubereiten

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

  1. Rufen Sie im Abschnitt Develop (Erstellen) 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.

    Die Namen von CONFIG-Projekten enden normalerweise mit _config, der Name des CORE-Projekts hat jedoch in der Regel kein Suffix.

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

    1. Löschen Sie die gesamten Zeilen „extends“ und „extension“.
    2. Löschen Sie _config aus den Namen der explore.
    3. Stelle + vor den Namen von explore.

    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 sie für einen späteren Schritt auf.

Neue Marketplace-Blockierung installieren

Ein Block, der auf einem Projekt mit Suchfiltern basiert, wird aus dem Marketplace als einzelnes, bearbeitbares LookML-Projekt installiert, das aus der Ferne das Projekt mit vollständiger LookML und konstanter Parametrisierung importiert.

  1. Klicken Sie in der Looker-Menüleiste auf das Shop-Symbol, um den Looker Marketplace aufzurufen.
  2. Klicken Sie auf den Eintrag für die neue Marktplatzfilterung. 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. Sobald diese Blockierung installiert ist, sehen Sie auf der Seite Verwalten des Looker Marketplace zwei identische Einträge.

Anpassungen an die neue Marketplace-Blockierung übertragen

In diesem Abschnitt wird beschrieben, wie Sie Aktualisierungen, die Sie an den ursprünglichen Block (Erweiterungen) geändert haben, in den neuen Block (Optimierungen) übertragen.

  1. Öffnen Sie im Abschnitt 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 Liste der Projekte auf den Namen des Blocks.

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

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

Looker-Inhalte auf Grundlage des ursprünglichen Blocks neu erstellen

Der letzte Schritt bei der Übernahme der auf Optimierungen basierenden Version einer Marketplace-Blockierung besteht darin, die ursprüngliche, auf Erweiterungen basierende Version der Blockierung zu deinstallieren. Einige erweiterungsbasierte Blöcke enthalten vorgefertigte LookML-Dashboards und Explores. Wenn Nutzer Benachrichtigungen oder geplante Auslieferungen erstellt haben, die auf den im ursprünglichen Block (Erweiterung) definierten LookML-Dashboards basieren, werden diese Benachrichtigungen oder Zeitpläne deaktiviert, sobald sie vom Looker Marketplace deinstalliert werden.

Sie müssen diese Benachrichtigungen oder geplanten Auslieferungen auf den LookML-Dashboards des neuen (raffinierten) Blocks neu erstellen. Looker-Administratoren und -Nutzer mit den entsprechenden Berechtigungen für Zeitpläne und Benachrichtigungen können auf der Seite Benachrichtigungen und Zeitpläne im Admin-Bereich nach den Namen der Dashboards des (Erweiterung)-Blocks suchen und dann nach Bedarf neue Benachrichtigungen oder geplante Auslieferungen der entsprechenden Dashboards des Blocks (Optimierung) erstellen.

Außerdem müssen Sie alle anderen Looker-Inhalte ändern, die auf den Erkundungs- oder LookML-Dashboards des ursprünglichen Blocks (Erweiterungen) verweisen, sodass er bei Bedarf auf den neuen Referenzblock (Verweise) verweist.

Ursprünglichen Block deinstallieren

So deinstallieren Sie die mit den erweiterten Erweiterungen erstellte Version des Blocks:

  1. Klicken Sie in der Looker-Menüleiste auf das Shop-Symbol, 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 Papierkorbsymbol, um den ursprünglichen Block (Erweiterungen) zu deinstallieren. Sie können die Liste der Erweiterungsblöcke von der Liste der Optimierungen unterscheiden, indem Sie sich die Versionsnummern ansehen. Der Erweiterungsblock ist eine Hauptversion hinter dem Suchfilterblock. Der Erweiterungsblock kann beispielsweise Version 1.0.4 und der Suchfilter-Block Version 2.0.0 sein.

Nach der Deinstallation des Blocks wird die ursprüngliche (Erweiterungs-)Blockliste aus der linken Navigationsleiste der Looker-Instanz gelöscht. Die explorativen Datenanalysen werden aus dem Bereich Erkunden und die LookML-Dashboards aus dem Ordner LookML-Dashboards entfernt und alle Benachrichtigungen oder geplanten Auslieferungen, die auf den LookML-Dashboards des Blocks basieren, werden deaktiviert oder schlagen fehl.

Fehlerbehebung bei Blockierungen

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

Sie können auch prüfen, ob die Konstanten, die während der Installation des Blocks angegeben wurden und die Verbindung, Datenbank oder das Schema des Blocks angeben, richtig definiert wurden. Gehen Sie dazu so vor:

  1. Klicken Sie in der Looker-Menüleiste auf das Shop-Symbol, 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, um die Konfigurationseinstellungen aufzurufen.

  4. Prüfen Sie im Fenster Konfiguration aktualisieren, ob der Block richtig konfiguriert ist. Wenn Sie die gewünschten Änderungen vorgenommen haben, klicken Sie auf Aktualisieren, um die Änderungen zu speichern und das Fenster mit der Blockkonfiguration zu schließen.