Nutzung
sql_create: {
SQL-Anweisung ;;
}
}
Hierarchie
sql_create |
Standardwert
KeineAkzeptiert
Eine SQL-Anweisung
|
Definition
sql_create
aktiviert benutzerdefinierte DDL-Befehle (Data Definition Language, Datendefinitionssprache) zum Erstellen von persistenten abgeleiteten Tabellen. sql_create
gibt in der vorliegenden Form eine Anweisung ohne die übliche Fehlerprüfung von Looker aus. Die einzige Anforderung besteht darin, dass die Anweisung zur Erstellung und Ausführung einer PDT führt. So können Sie beispielsweise PDTs erstellen, die die BigQuery ML-Modelle für maschinelles Lernen unterstützen.
Für PDTs, die mit
sql_create
definiert sind, können Sie keinen der folgenden Parameter verwenden:indexes
cluster_keys
distribution
distribution_style
partition_keys
sortkeys
Beispiele
Erstellen Sie eine PDT für BigQuery ML-Abfragen, die die Wahrscheinlichkeit zukünftiger Käufe prognostizieren:
view: future_purchase_model {
derived_table: {
datagroup_trigger: bqml_datagroup
sql_create:
CREATE OR REPLACE MODEL ${SQL_TABLE_NAME}
OPTIONS(model_type='logistic_reg'
, labels=['will_purchase_in_future']
, min_rel_progress = 0.005
, max_iterations = 40
) AS
SELECT
* EXCEPT(fullVisitorId, visitId)
FROM ${training_input.SQL_TABLE_NAME};;
}
}
Wichtige Punkte
${SQL_TABLE_NAME}
-Substitutionsoperator
Mit dem Substitutionsoperator ${SQL_TABLE_NAME}
können Sie den berechneten Namen der zu erstellenden PDT ersetzen. Dadurch wird sichergestellt, dass die SQL-Anweisung den PDT-Namen, der im LookML-Parameter view
angegeben ist, korrekt enthält.
sql_create
muss eine Tabelle mit dem vom Substitutionsoperator${SQL_TABLE_NAME}
angegebenen Namen erstellen. Andernfalls wird er bei jedem Triggerprüfintervall, der in der Einstellung PDT und Datagroup-Wartungsplan einer Verbindung angegeben ist, neu erstellt. Der Standardwert ist fünf Minuten. Das kann zu unerwartetem Abfragetraffic in Ihrer Datenbank oder Ihrem Data Warehouse führen.
Mit create_process
in mehreren Schritten eine PDT erstellen
Wenn Ihr Datenbankdialekt benutzerdefinierte DDL-Befehle erfordert und Sie mehrere Befehle zum Erstellen eines PDT ausgeben möchten, können Sie create_process
verwenden, um mehrere benutzerdefinierte DDL-Befehle in einer bestimmten Reihenfolge auszugeben.
Mit sql_create
definierte Tabellen können nicht für inkrementelle PDTs verwendet werden
Um als inkrementeller PDT verwendet zu werden, muss bei einem SQL-basierten PDT eine Abfrage mit dem Parameter sql
definiert sein. SQL-basierte PDTs, die mit dem Parameter sql_create
oder create_process
definiert sind, können nicht inkrementell erstellt werden.
Dies liegt daran, dass Looker einen INSERT- oder MERGE-Befehl verwendet, um die Inkremente für einen inkrementellen PDT zu erstellen. Die abgeleitete Tabelle kann nicht mit benutzerdefinierten DDL-Anweisungen (Data Definition Language) definiert werden, da Looker nicht ermitteln kann, welche DDL-Anweisungen zum Erstellen eines genauen Schritts erforderlich wären.