sql_create

Uso

derivad_table: customer_order_facts {
sql_create: {
instrucción de SQL ;;

}
}
Jerarquía
sql_create
Valor predeterminado
Ninguna

Acepta
Una instrucción de SQL

Definición

sql_create habilita los comandos personalizados del lenguaje de definición de datos (DDL) para compilar tablas derivadas persistentes (PDT). sql_create emitirá una declaración tal como está, sin la verificación de errores habitual de Looker. El único requisito es que la declaración genere la creación y la ejecución de un PDT. Esto le permite, por ejemplo, crear PDT que admitan los modelos de aprendizaje automático de BigQuery ML de Google.

Para los PDT definidos con sql_create, no puedes usar ninguno de los siguientes parámetros:

  • indexes
  • cluster_keys
  • distribution
  • distribution_style
  • partition_keys
  • sortkeys
  • Ejemplos

    Crear un PDT para consultas de AA de BigQuery que prediga la probabilidad de compras futuras:

    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};;
      }
    }
    

    Aspectos para tener en cuenta

    Operador de sustitución de ${SQL_TABLE_NAME}

    Puedes usar el operador de sustitución ${SQL_TABLE_NAME} para reemplazar el nombre calculado del PDT que se crea. Esto garantiza que la instrucción de SQL incluya correctamente el nombre PDT proporcionado en el parámetro view de LookML.

    sql_create debe crear una tabla con el nombre que indica el operador de sustitución ${SQL_TABLE_NAME}, o se volverá a compilar desde cero en cada intervalo de verificación que se especifique en la configuración de PDT y Programa de mantenimiento de grupos de datos de la conexión (el valor predeterminado es de cinco minutos). Esto puede generar tráfico de consultas inesperado en tu base de datos o almacén de datos.

    Usa create_process para crear un PDT en varios pasos

    Si el dialecto de tu base de datos requiere comandos de DDL personalizados y quieres emitir varios comandos para crear un PDT, puedes usar create_process para emitir varios comandos en un orden específico.

    Las tablas definidas con sql_create no se pueden usar para los PDT incrementales.

    Para usarse como un PDT incremental, un PDT basado en SQL debe tener una consulta definida con el parámetro sql. Los PDT basados en SQL que se definen con el parámetro sql_create o el parámetro create_process no se pueden compilar de forma incremental.

    Esto se debe a que Looker usa un comando INSERT o MERGE para crear los incrementos de un PDT incremental. La tabla derivada no se puede definir mediante declaraciones personalizadas del lenguaje de definición de datos (DDL), ya que Looker no podría determinar qué declaraciones DDL se requerirían para crear un incremento preciso.