Utilizzo
sql_create: {
istruzione SQL ;;
}
}
Gerarchia
sql_create |
Valore predefinito
NessunaAccetta
Un'istruzione SQL
|
Definizione
sql_create
consente i comandi DDL (Data Definition Language) personalizzati per la creazione di tabelle derivate persistenti (PDT). sql_create
emetterà un'istruzione com'è, senza il consueto controllo degli errori di Looker. L'unico requisito è che l'istruzione porti nella creazione e nell'esecuzione di una PDT. Questo ti consente, ad esempio, di creare PDT che supportano i modelli di machine learning di BigQuery ML di Google.
Per le PDT definite utilizzando
sql_create
, non puoi utilizzare i seguenti parametri:indexes
cluster_keys
distribution
distribution_style
partition_keys
sortkeys
Esempi
Crea una PDT per le query di BigQuery ML in grado di prevedere la probabilità di acquisti futuri:
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};;
}
}
Aspetti da considerare
${SQL_TABLE_NAME}
operatore di sostituzione
Puoi utilizzare l'operatore di sostituzione ${SQL_TABLE_NAME}
per sostituire il nome calcolato della PDT creata. Ciò garantisce che l'istruzione SQL includa correttamente il nome PDT specificato nel parametro LookML view
.
sql_create
deve creare una tabella con il nome indicato dall'operatore di sostituzione${SQL_TABLE_NAME}
, altrimenti verrà ricreata da zero a ogni intervallo di controllo del trigger specificato nell'impostazione PDT and Datagroup Maintenance Schedule (Pianificazione manutenzione PDT) e gruppi di dati (il valore predefinito è di cinque minuti). Ciò può causare traffico di query imprevisto sul tuo database o data warehouse.
Usa create_process
per creare una PDT in più passaggi
Se il dialetto del database richiede comandi DDL personalizzati e vuoi emettere più comandi per creare una PDT, puoi utilizzare create_process
per emettere più comandi DDL personalizzati in un ordine specifico.
Le tabelle definite con sql_create
non possono essere utilizzate per le PDT incrementali
Da utilizzare come PDT incrementale, per una PDT basata su SQL è necessario definire una query con il parametro sql
. Le PDT basate su SQL definite con il parametro sql_create
o il parametro create_process
non possono essere create in modo incrementale.
Il motivo è che Looker utilizza un comando INSERT o USC per creare gli incrementi per una PDT incrementale. La tabella derivata non può essere definita utilizzando istruzioni DDL (Data Definition Language) personalizzate, poiché Looker non è in grado di determinare quali istruzioni DDL sarebbero necessarie per creare un incremento preciso.