Auf dieser Seite wird beschrieben, wie Sie einen benutzerdefinierten Block erstellen, der dem Looker Marketplace hinzugefügt und von anderen Looker-Nutzern aufgerufen werden kann.
Sie müssen Mitglied des Looker Partner Networks oder Looker-Kunde sein, um Inhalte im Looker Marketplace einreichen zu können.
Informationen zu Looker Blocks, die bereits erstellt und für die Verwendung verfügbar sind, finden Sie auf der Dokumentationsseite Looker Blocks. Informationen zum Anpassen von Blöcken, die Sie über den Marketplace installiert haben, finden Sie auf der Dokumentationsseite Looker Marketplace-Blocks anpassen.
Wenn Sie einen Block entwickeln und allen Looker-Nutzern über den Looker Marketplace zur Verfügung stellen möchten, folgen Sie der Anleitung auf dieser Seite:
- Datenquelle einrichten und mit Looker verbinden
- Projekt erstellen und erforderliche Dateien hinzufügen
- Machen Sie den Block barrierefrei.
- Blockierung zur Überprüfung durch Looker einreichen
Datenquelle einrichten und mit Looker verbinden
Blöcke sind Datenmodelle und funktionieren daher am besten, wenn sie für einen bestimmten, leicht wiederholbaren Datensatz entwickelt wurden. Die meisten Fehler bei der Blockinstallation treten auf, wenn das Dataset des Nutzers nicht mit den Schema-, Tabellen- und Feldnamen im Block übereinstimmt.
- Wenn Sie einen Block für ein bestimmtes Dataset erstellen, z. B. Google Analytics-Daten, notieren Sie alle Einstellungen oder Anpassungen, die Sie am Dataset vorgenommen haben. Beschränken Sie solche Anpassungen nach Möglichkeit auf ein Minimum, um die Installation für Ihre Nutzer zu optimieren. Geben Sie eine detaillierte Anleitung in einer README-Datei an.
- Wenn Sie einen Block für ein allgemeines Analysemuster wie die Bindung von Kohorten erstellen, notieren Sie sich, welche Felder das Dataset Ihres Nutzers voraussichtlich enthalten wird. Höchstwahrscheinlich haben Ihre Nutzer nicht dieselben Schema-, Tabellen- und Feldnamen wie in Ihrem Dataset. Verwenden Sie LookML-Konstanten für Tabellen- und Feldnamen und informieren Sie die Nutzer in einer README-Datei darüber, welche Felder sie aktualisieren müssen.
Nachdem Sie Ihre Datenquelle festgelegt haben, verbinden Sie sie mit Looker, um mit der Modellierung zu beginnen. Wenn Sie eine der Standardverbindungseinstellungen ändern müssen, machen Sie dies in Ihrer README-Datei entsprechend.
Projekt erstellen und erforderliche Dateien hinzufügen
Erstellen Sie ein Projekt, das Ihren Block darstellt. Verwenden Sie eine Namenskonvention wie block-<database_dialect>-<role>
, z. B. block-redshift-admin
.
Erstellen Sie als Nächstes die folgenden Dateien in Ihrem Projekt:
- Eine Manifestdatei, die den Projektnamen, den Verbindungsnamen und alle anderen Konstanten definiert
- Eine Ansichtsdatei für jede Ansicht
- Eine Explore-Datei für jeden Explore
- Eine Modelldatei, die alle Ansichtsdateien, Explore-Dateien und LookML-Dashboard-Dateien im Projekt enthält
- Mindestens drei LookML-Dashboard-Dateien
- Eine
marketplace.json
-Datei mit Informationen, die im Marketplace-Eintrag für diesen Block angezeigt werden - Eine LICENSE-Datei mit dem Text der MIT-Open-Source-Lizenz
- Eine README-Datei mit Details zur Einrichtung und den Optionen
Nutzer, die Ihren Block installieren, können die grundlegenden Explores, Ansichten und Dashboards in einer separaten refinements.lkml
-Datei optimieren. In den folgenden Abschnitten werden die einzelnen erforderlichen Dateitypen genauer erläutert:
- Manifestdatei erstellen
- Ansichts- und Explore-Dateien erstellen
- Modelldatei erstellen
- LookML-Dashboard-Dateien erstellen
- Marketplace.json-Datei erstellen
- LIZENZ-Datei erstellen
- README-Datei erstellen
Manifestdatei erstellen
Erstellen Sie eine Manifestdatei für Ihr Projekt. Die Manifestdatei sollte mit einem Projektnamen beginnen und dann einige LookML-Konstanten definieren, die von Nutzern geändert werden können. Sie sollten beispielsweise den Looker-Verbindungsnamen als Konstante mit export: override_required
definieren, damit Nutzer ihn mit ihrem eigenen Verbindungsnamen überschreiben können.
Hier ist ein Beispiel für eine Manifestdatei:
project_name: "block-ga-360"
################# Constants ################
## Used in google_analytics_block.model connection param
constant: CONNECTION_NAME {
value: "looker-private-demo"
export: override_required
}
## Used in ga_sessions.view sql_table_name
constant: SCHEMA_NAME {
value: "bigquery-public-data.google_analytics_sample"
export: override_optional
}
constant: GA360_TABLE_NAME {
value: "ga_sessions_*"
export: override_optional
}
Ansichts- und Explore-Dateien erstellen
Erstellen Sie für jede Ansicht eine view.lkml
-Datei. Wenn sich die Schema- und Tabellennamen eines Nutzers von Ihren unterscheiden, müssen Sie sie in Ihrer Manifestdatei als Konstanten definieren, damit Nutzer, die Ihren Block herunterladen, die Schema- und Tabellennamen in der automatisch generierten Manifestdatei aktualisieren können. Verweisen Sie dann in den sql_table_name
-Parametern Ihrer Ansichten auf diese Konstanten.
Hier ein Beispiel für eine Blockdatei view.lkml
:
view: user_facts {
# SCHEMA_NAME and GA360_TABLE_NAME are constants
sql_table_name: @{SCHEMA_NAME}.@{GA360_TABLE_NAME} ;;
dimension: clientID {
type: string
sql: ${TABLE.clientId}
}
}
Erstellen Sie als Nächstes eine oder mehrere explore.lkml
-Dateien. Achten Sie darauf, dass jede Explore-Datei die erforderlichen Ansichten für das Explore enthält. Gestalten Sie Ihre Explores sorgfältig, sodass sie logische Verknüpfungen, Drills und ausgewählte Explore-Seiten enthalten. Nachdem ein anderer Nutzer den Block aus dem Marketplace installiert hat, sollten die Geschäftsnutzer einfach loslegen und ihre Daten analysieren können.
Eine allgemeine Liste mit Best Practices für die Modellierung finden Sie in unserem Community-Forum und in den Looker-Best Practices, z. B. Best Practice: Do's and Don'ts für LookML und Best Practice: Nachhaltige, wartbare LookML schreiben.
Hier ist ein Beispiel für eine explore.lkml
-Datei:
include: "/Google_Analytics/Sessions/*.view.lkml"
explore: future_input {
view_label: "Audience Traits"
label: "BigQuery ML Customer Likelihood to Purchase"
description: "This explore allows you to slice and dice likeliness to purchase scores by different customer traits to see how they differ. The default range of data you are looking at is in the past 30 days"
join: future_purchase_prediction {
type: left_outer
sql_on: ${future_purchase_prediction.clientId} = ${future_input.client_id} ;;
relationship: one_to_one
}
}
Modelldatei erstellen
Erstellen Sie eine Modelldatei, die alle Ansichts-, Explore- und Dashboard-Dateien in Ihrem Projekt enthält. Achten Sie darauf, dass der Verbindungsname in Ihrer Manifestdatei als LookML-Konstante referenziert wird.
Definieren Sie mindestens eine Datengruppe, um eine Cache-Richtlinie festzulegen.
Hier ist ein Beispiel für eine Modelldatei:
connection: "@{CONNECTION_NAME}"
include: "/views/*.view.lkml"
include: "/explores/*.explore.lkml"
include: "/dashboards/*.dashboard.lookml"
datagroup: nightly {
sql_trigger: SELECT TIMEZONE('US/Pacific',GETDATE())::DATE;;
}
LookML-Dashboarddateien erstellen
Damit ein Block in den Looker Marketplace aufgenommen werden kann, muss er mindestens drei LookML-Dashboards enthalten, die aussagekräftige, hilfreiche Analysen bieten. Die Dashboards sollten ästhetisch, funktional und umfassend sein und dürfen keine unkenntlich gemachten Daten enthalten.
Obwohl es keine festen Designanforderungen für LookML-Dashboards gibt, empfiehlt Looker die folgenden allgemeinen Best Practices für das Design:
- Einheitliche Farbpalette im gesamten Dashboard
- Mindestens sieben Kacheln
- Mindestens drei verschiedene Visualisierungstypen (z. B. Einzelwert, Balken und Linie)
Benutzerdefinierte Visualisierungen werden bei der Entwicklung von Dashboards für Blocks nicht unterstützt. Verwenden Sie stattdessen die nativen Visualisierungstypen von Looker.
Auf den Dokumentationsseiten Dashboard-Parameter und Dashboard-Elementparameter finden Sie weitere Informationen zum Anpassen von LookML-Dashboards bzw. zu den Visualisierungen in LookML-Dashboards. Ein Beispiel für eine LookML-Dashboard-Datei finden Sie in der LookML-Dashboard-Datei für Redshift Admin im Redshift Admin-Block.
Datei marketplace.json
erstellen
Erstellen Sie eine marketplace.json
-Datei, um anzugeben, wie der Eintrag im Marktplatz angezeigt werden soll. Jeder Block im Looker Marketplace muss diese zusätzlichen Informationen bereitstellen, damit die Benutzer den Block auswählen können, der ihren Anforderungen am besten entspricht. Die Datei marketplace.json
sollte Folgendes enthalten:
- Marketplace-Felder
label
,category_label
undbranding
- Eine Liste von LookML-Konstanten, die von Nutzern ausgefüllt werden müssen, um die LookML des Modells zu füllen (z. B. Verbindungsnamen)
Hier ein Beispiel für eine marketplace.json
-Datei für den Google BigQuery-Leistungsblock:
{
"label": "Google BigQuery Performance",
"category_label": "Models",
"branding": {
"image_uri": "https://marketplace-api.looker.com/block-icons/google-cloud.png",
"tagline": "This Block provides a comprehensive overview of all cost and performance data for one or multiple BigQuery projects, enabling users to effectively monitor BigQuery usage down to a per user level. It can be used to set up alerts to long running or high cost queries."
},
"constants": {
"CONNECTION_NAME": {
"label": "Connection Name",
"value_constraint": "connection"
},
"SCHEMA_NAME": {
"label": "Schema Name"
},
"AUDIT_LOG_EXPORT_TABLE_NAME": {
"label": "Audit Log Export Table Name",
"description": "The table name of your BigQuery Optimization data (typically cloudaudit_googleapis_com_data_access_*)."
}
},
"models": [
{
"name": "block_bigquery_optimization_v2",
"connection_constant": "CONNECTION_NAME"
}
]
}
Der folgende Screenshot zeigt den Marktplatzeintrag, der mit dieser marketplace.json
-Datei generiert würde.
- Über das Feld
"label"
wird der Titel des Blocks festgelegt. In diesem Beispiel ist das Google BigQuery Performance. - Im Feld
"tagline"
wird der erste Absatz des Marketplace-Eintrags festgelegt. - Über das Feld
"image_uri"
wird das Bild festgelegt, das links oben im Marketplace-Eintrag angezeigt wird. In diesem Beispiel ist dies das Google Cloud-Logo. - Im Feld
"constants"
werden Nutzer während der Installation aufgefordert, ihre Konstanten in der Marketplace-Benutzeroberfläche einzugeben. In diesem Beispiel sind in der Dateimarketplace.json
drei Konstanten aufgeführt (CONNECTION_NAME
,SCHEMA_NAME
undAUDIT_LOG_EXPORT_TABLE_NAME
). Der Nutzer wird daher vor der Installation aufgefordert, Werte für diese drei Felder anzugeben.
Lizenzdatei erstellen
Alle Looker Blocks müssen unter der MIT-Open-Source-Lizenz lizenziert sein. Fügen Sie den Text aus dieser Lizenz in eine Datei mit dem Namen LIZENZ ein. Ein Beispiel für eine LIZENZ-Datei finden Sie in der Lizenzdatei für den Administratorblockierung von Redshift.
README-Datei erstellen
Die README-Datei sollte alle Anleitungen zur Implementierung des Blocks enthalten und explizit angeben, wo Anpassungen erforderlich sind, z. B. in der automatisch generierten Manifestdatei](#the_autogenerated_manifest_file) oder der Optimierungsdatei. Ein Beispiel für eine README-Datei finden Sie in der Readme-Datei für den Redshift Admin Block.
Folgendes sollten Sie bei Ihrem README beachten:
- Welche Datenquelle benötigt der Nutzer? Müssen sie ein Abo abschließen?
- Welche Berechtigungen sollte der Datenbanknutzer haben?
- Welche Looker-Verbindungseinstellungen sind erforderlich?
- Stimmen die Feldnamen der Blöcke mit den Feldnamen im Datensatz des Nutzers überein? Wenn nicht, was sollte der Nutzer ändern?
Automatisch generierte Dateien
Wenn Nutzer Ihren Block installieren, wird in ihrer Looker-Instanz ein neues Looker-Projekt mit den Dateien Ihres Projekts als schreibgeschützte Dateien erstellt. Außerdem werden automatisch die folgenden Dateien für den Nutzer generiert:
- Eine schreibgeschützte
marketplace_lock.lkml
-Datei mit Informationen zum Marktplatzeintrag - Eine Manifestdatei, die auf den Eintrag in
marketplace_lock.lkml
verweist - Eine
refinements.lkml
-Datei mit allen Ansichten und Explores aus Ihrem Block - Eine schreibgeschützte Modelldatei, die sowohl die Modelldatei aus Ihrem Block als auch die
refinements.lkml
-Datei enthält
Nutzer, die Ihren Block über den Looker Marketplace installieren, können die refinements.lkml
-Datei verwenden, um Ihre LookML zu optimieren und sogar neue LookML-Dateien hinzuzufügen. Weitere Informationen dazu, wie Nutzer Ihren Block anpassen können, finden Sie auf der Dokumentationsseite Looker Marketplace-Blöcke anpassen.
Die automatisch erstellte Manifestdatei
Mit der automatisch generierten Manifestdatei können Nutzer, die Ihren Block installieren, Variablen wie den Verbindungsnamen festlegen. Die in der Blockmanifestdatei definierten LookML-Konstanten können entweder in der automatisch generierten Manifestdatei bearbeitet oder von den Benutzern in der Benutzeroberfläche für den Blockdownload festgelegt werden.
Die Datei mit den Optimierungen
Mit der automatisch generierten Datei refinements.lkml
können Nutzer, die Ihren Block installieren, Ansichten und Explores optimieren, die für Ihren Block definiert sind. Hier nehmen Benutzer, die Ihren Block herunterladen, den Großteil der LookML-Anpassung an ihren Anwendungsfall vor.
Hier sehen Sie ein Beispiel für eine automatisch generierte refinements.lkml
-Datei:
include: "//ga360-v2/**/*.view.lkml"
include: "//ga360-v2/**/*.explore.lkml"
\# Use LookML refinements to refine views and explores that are defined in the remote project.
\# Learn more at: https://docs.looker.com/data-modeling/learning-lookml/refinements
\#
\#
\# For example we could add a new dimension to a view:
\# view: +flights {
\# dimension: air_carrier {
\# type: string
\# sql: ${TABLE}.air_carrier ;;
\# }
\# }
\#
\# Or apply a label to an explore:
\# explore: +aircraft {
\# label: "Aircraft Simplified"
\# }
\#
Blockprojekt zugänglich machen
Hosten Sie Ihren Block-LookML-Code in einem öffentlich zugänglichen GitHub-Repository.
Alle Looker-Blöcke müssen unter der MIT-Open-Source-Lizenz lizenziert sein. Der Lizenztext muss in einer LICENSE-Datei im Repository enthalten sein.
Blockierung zur Überprüfung einreichen
Sobald Ihr Block zur Übermittlung bereit ist, folgen Sie der Anleitung unter Inhalte an den Looker Marketplace senden, um eine unterstützende Dokumentation für den Block zu erstellen. Senden Sie den Block zur Überprüfung an das Looker-Team und veröffentlichen Sie ihn im Looker Marketplace.