sql_create

Uso

derived_table: customer_order_facts {
  sql_create: {
      SQL statement ;;
  }
}
Jerarquía
sql_create
Valor predeterminado
Ninguno

Acepta
Una instrucción de SQL

Definición

sql_create habilita 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 instrucción genere la creación y ejecución de un PDT. Esto te 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

    Crea un PDT para las consultas de BigQuery ML que predicen 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 ${SQL_TABLE_NAME}

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

    sql_create debe crear una tabla con el nombre indicado por el operador de sustitución ${SQL_TABLE_NAME}, o bien se volverá a compilar desde cero en cada intervalo de verificación del activador especificado en el parámetro de configuración PDT and Datagroup Maintenance Schedule de una conexión (el valor predeterminado es de cinco minutos). Esto puede provocar un 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 tu dialecto de base de datos requiere comandos DDL personalizados y deseas emitir varios comandos para crear una PDT, puedes usar create_process para emitir varios comandos DDL personalizados en un orden específico.

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

    Para usarse como una PDT incremental, una PDT basada 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 una PDT incremental. La tabla derivada no se puede definir con 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.