Looker Marketplace-Blöcke anpassen

Looker Blocks™ sind vordefinierte 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-Blocks, einschließlich Blocks, 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, beachten Sie Folgendes:

  • 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 betreffende Block einen local_dependency-Parameter enthält, wird der lokale Projektimport 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 Marketing-Analyse
    • Vertriebsanalysen
    • Webanalyse

Auf der Dokumentationsseite Looker Marketplace finden Sie Informationen zum Installieren und Verwalten von Looker-Blocks aus dem 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 ü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 Blocks mit Marketplace-Eingrenzungen wird in der Regel marketplace_ gefolgt von der Eintrags-ID vorangestellt.

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. Sie können die CORE-Dateien des Blocks aufrufen, indem Sie in der IDE zu den Projektdateien des Blocks wechseln und im Dateibrowser der IDE das Verzeichnis imported_projects maximieren.

Blockdateistruktur

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 Lesezugriff für alle Nutzer Virtuelle Modelldatei, die mit der Blockinstallation verknüpft ist; steuert 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 Hier werden das Projekt und seine externen Abhängigkeiten beschrieben. 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 Lesezugriff für alle Nutzer Enthält einen Verweis auf das Schlüsselwort marketplace_ref aus der Manifestdatei, das den Remote-Import des CORE-Projekts steuert. Enthält die Informationen zum Eintrag, zur Version und zum Modell, die mit der Installation verknüpft sind. Enthält Informationen zu Konstanten, die während der Installation konfiguriert werden und mit der Option Verwalten in der Marketplace-Benutzeroberfläche aktualisiert werden können.
refinements.lkml Kann von Nutzern mit develop-Berechtigungen bearbeitet werden Hiermit können Entwickler die in den importierten CORE-Projektdateien definierten Ansichten und Explores optimieren.

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 der Verfeinerung und der ursprünglichen LookML verhält sich so, als wäre es die 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 darauf beschränkt, diese Dateien zu ändern, um die gewünschten Anpassungen vorzunehmen. Du kannst auch neue Dateien im CONFIG-Projekt erstellen. Achte aber darauf, alle neuen Dateien in der Datei refinements.lkml zu include.

Datei mit den Verfeinerungen 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 mit vorhandenen Explores zusammenführen, neue Felder definieren oder vorhandene neu definieren oder nach Bedarf Labels anwenden, um ein Modell für die gewünschte Analyse zu erstellen. 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 die zugehörige 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 Verfeinerungen können Sie einer Ansicht eine neue Dimension hinzufügen, die flights heißt:

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 die „virtuelle“ Modelldatei des Blocks aufgenommen, über die die Modelle aus dem CORE-Projekt importiert werden.

Weitere Informationen zu diesem fortgeschrittenen Thema finden Sie in der Dokumentation zu LookML-Optimierungen.

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-manifest.lkml-Datei 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.

Werte für Konstanten aktualisieren

Die Konstanten des Blocks sind in der Manifestdatei des importierten CORE-Projekts definiert. Wenn zulässig, muss der Wert einer Konstante 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. 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 „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 Blöcke, die im Looker Marketplace verfügbar sind, wurden aus Projekten erstellt, die LookML-Erweiterungen verwenden. Looker wandelt alle Marketplace-Blöcke für Instanzen unter Looker 21.8 oder höher in eine Projektstruktur um, die LookML-Optimierungen nutzt. Die Unterstützung für Blöcke, die auf extends basieren, wird entfernt.

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 Vorgang ist zwar einfach: Sie können den neuen Block vom Listeneintrag des Looker Marketplace-Blocks installieren und den ursprünglichen Block vom Typ „Erweitert“ auf der Seite Verwalten im Looker Marketplace deinstallieren. Allerdings werden dabei keine Anpassungen beibehalten, die am Block vorgenommen wurden, der mit „Erweitert“ erstellt wurde. Außerdem werden keine Looker-Inhalte oder -Funktionen, die auf diesen Inhalten basieren, aus dem ursprünglichen Block in den neuen Block übertragen (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. Diese Anpassungen wären sonst schwierig oder zeitaufwendig neu zu erstellen.

Damit die Anpassungen Ihres Blocks erhalten bleiben, muss ein Nutzer, der Pakete aus dem Marketplace installieren und verwalten kann, 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 Marktplatzblock übertragen
  4. Looker-Inhalte anhand des ursprünglichen Blocks neu erstellen
  5. Version des Blocks deinstallieren, die mit „extends“ erstellt wurde

Benutzerdefinierten Block aktualisieren, um die Migration vorzubereiten

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 ü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.

    Die Namen von CONFIG-Projekten enden in der Regel auf _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. Im Entwicklungsmodus:

    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 + vor.

    Das Beispiel für die vorherige Modelldatei würde dann 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 Verfeinerungen verwendet, wird über den Marketplace als einzelnes bearbeitbares LookML-Projekt installiert, das das Projekt mit der gesamten LookML und der konstanten Parameterisierung per Remote importiert.

  1. Klicken Sie in der Looker-Menüleiste auf das Einkaufswagensymbol, 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 sehen Sie auf der Seite Verwalten des Looker Marketplace zwei identische Einträge.

Anpassungen in den neuen Marktplatzblock übertragen

In diesem Abschnitt wird beschrieben, wie Sie die Änderungen, die Sie am ursprünglichen Block „Erweitert“ vorgenommen haben, in den neuen Block „Optimierungen“ ü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 Liste der Projekte auf den Namen des Projekts des Blocks.

    Dem Namen eines Blocks mit Marketplace-Eingrenzungen 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 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 Verwendung der Version eines Marktplatzblocks mit Verfeinerungen besteht darin, die ursprüngliche Version des Blocks mit Erweiterungen zu deinstallieren. Einige erweiterungsbasierte 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 „(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 Übermittlungen in den LookML-Dashboards des neuen Blocks „Optimierungen“ 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 Blocks „Erweitert“ suchen und dann bei Bedarf neue Benachrichtigungen oder geplante Übermittlungen auf den entsprechenden Dashboards des Blocks „Optimierungen“ erstellen.

Außerdem müssen Sie alle anderen Looker-Inhalte ändern, die auf die ursprünglichen Explores oder LookML-Dashboards des Blocks „Erweitert“ verweisen, damit sie auf den neuen Block „Optimierungen“ verweisen.

Ursprünglichen Block deinstallieren

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

  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 (erweitert) zu deinstallieren. Sie können die Liste der erweiterten Blockierungen anhand der Versionsnummern von der Liste der Blockierungen mit Verfeinerungen unterscheiden. Der Block „extends“ ist eine Hauptversion hinter dem Block „refinements“. Der Block „Erweitert“ kann beispielsweise Version 1.0.4 und der Block „Optimierungen“ Version 2.0.0 haben.

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.

Blockierung beheben

Wenn für einen Marktplatzblock 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.