creazione_sql

Utilizzo

deriva_table: customer_order_facts {
sql_create: {
istruzione SQL ;;

}
}
Gerarchia
sql_create
Valore predefinito
Nessuna

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