criar SQL

Uso

derivada da tabela: customer_order_facts {
sql_create: {
Instrução SQL ;;

}
}
Hierarquia
sql_create
Valor padrão
Nenhuma

Aceita
Uma instrução SQL

Definição

O sql_create ativa comandos personalizados da Linguagem de definição de dados (DDL) para criar tabelas derivadas permanentes (PDTs, na sigla em inglês). O sql_create emitirá uma instrução sem a verificação de erro comum do Looker. O único requisito é que a instrução resulte na criação e execução de um PDT. Isso permite, por exemplo, criar PDTs compatíveis com os modelos de machine learning do BigQuery ML.

Para PDTs definidos usando sql_create, não é possível usar nenhum dos parâmetros a seguir:

  • indexes
  • cluster_keys
  • distribution
  • distribution_style
  • partition_keys
  • sortkeys
  • Examples

    Crie um PDT para consultas do BigQuery ML que prevejam a probabilidade de futuras compras:

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

    Considerações

    Operador de substituição ${SQL_TABLE_NAME}

    É possível usar o operador de substituição ${SQL_TABLE_NAME} para substituir o nome calculado do PDT que está sendo criado. Isso garante que a instrução SQL inclua corretamente o nome PDT fornecido no parâmetro view do LookML.

    sql_create precisa criar uma tabela com o nome indicado pelo operador de substituição ${SQL_TABLE_NAME}. Caso contrário, ela será recriada do zero em cada intervalo de verificação de acionador especificado na configuração PDT e programação de manutenção do grupo de dados (o padrão é cinco minutos). Isso pode causar tráfego inesperado de consultas no banco de dados ou no data warehouse.

    Usar o create_process para criar um PDT em várias etapas

    Se o dialeto do banco de dados exigir comandos DDL personalizados, e você quiser emitir vários comandos para criar um PDT, use create_process para emitir vários comandos DDL personalizados em uma ordem específica.

    Tabelas definidas com sql_create não podem ser usadas para PDTs incrementais

    Para ser usada como um PDT incremental, um PDT baseado em SQL precisa ter uma consulta definida usando o parâmetro sql. Os PDTs baseados em SQL definidos com o parâmetro sql_create ou create_process não podem ser criados de forma incremental.

    Isso ocorre porque o Looker usa um comando INSERT ou Merge para criar os incrementos de um PDT incremental. A tabela derivada não pode ser definida usando instruções de linguagem de definição de dados (DDL, na sigla em inglês) personalizada, já que o Looker não consegue determinar quais instruções DDL seriam necessárias para criar um incremento preciso.