사용
derived_table: customer_order_facts {
sql_create: {
SQL statement ;;
}
}
|
계층 구조
sql_create |
기본값
없음
수락
SQL 문
|
정의
sql_create를 사용하면 영구 파생 테이블 (PDT)을 빌드하기 위한 맞춤 데이터 정의 언어 (DDL) 명령어를 사용할 수 있습니다. sql_create은 Looker의 일반적인 오류 검사 없이 있는 그대로 문장을 출력합니다. 유일한 요구사항은 문으로 인해 PDT가 생성되고 실행되어야 한다는 것입니다. 이를 통해 Google BigQuery ML 머신러닝 모델을 지원하는 PDT를 만들 수 있습니다.
sql_create를 사용하여 정의된 PDT의 경우 다음 매개변수를 사용할 수 없습니다.indexescluster_keysdistributiondistribution_stylepartition_keyssortkeys
예시
향후 구매 가능성을 예측하는 BigQuery ML 쿼리의 PDT를 만듭니다.
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};;
}
}
고려사항
${SQL_TABLE_NAME} 대체 연산자
${SQL_TABLE_NAME} 대체 연산자를 사용하여 생성되는 PDT의 계산된 이름을 대체할 수 있습니다. 이렇게 하면 SQL 문에 LookML view 매개변수에 지정된 PDT 이름이 올바르게 포함됩니다.
sql_create는${SQL_TABLE_NAME}대체 연산자로 표시된 이름의 테이블을 만들어야 합니다. 그렇지 않으면 연결의 PDT 및 데이터 그룹 유지보수 일정 설정에 지정된 모든 트리거 검사 간격 (기본값은 5분)에서 처음부터 다시 빌드됩니다. 이로 인해 데이터베이스 또는 데이터 웨어하우스에서 예상치 못한 쿼리 트래픽이 발생할 수 있습니다.
create_process을 사용하여 여러 단계로 PDT 만들기
데이터베이스 다이얼렉트에 맞춤 DDL 명령어가 필요하고 PDT를 만들기 위해 여러 명령어를 실행하려면 create_process를 사용하여 특정 순서로 여러 맞춤 DDL 명령어를 실행하면 됩니다.
sql_create로 정의된 테이블은 증분 PDT에 사용할 수 없음
증분 PDT로 사용하려면 SQL 기반 PDT에 sql 매개변수를 사용하여 정의된 쿼리가 있어야 합니다. sql_create 매개변수 또는 create_process 매개변수로 정의되는 SQL 기반 PDT는 증분식으로 빌드될 수 없습니다.
이는 Looker가 INSERT 또는 MERGE 명령어를 사용하여 증분 PDT의 증분값을 만들기 때문입니다. Looker는 정확한 증분값을 만드는 데 필요한 DDL 문을 확인할 수 없기 때문에 커스텀 데이터 정의 언어(DDL)를 사용해서는 파생 테이블을 정의할 수 없습니다.