모델 참조#
모델은 models/ 아래의 SQL 파일 1개입니다. 기본 파일 이름이 출력 테이블이고 폴더 경로가 출력 스키마를 제공합니다.
선행 지시문#
지시문은 파일 앞부분의 주석 헤더에 있어야 합니다. 구문 분석기는 최대 첫 20줄을 검사합니다.
| 지시문 | 의미 |
|---|---|
-- name: | 명시적 표시 이름 |
-- schema: | 명시적 출력 스키마 |
-- cadence: manual | 조직 전체의 반복 실행에서 제외 |
-- depends_on: schema.table | 명시적 그래프 연결 추가 |
-- unique_key: column | 테이블을 대체하지 않고 이 출력 열로 업서트 |
-- bigquery | SQL 문을 BigQuery로 라우팅. 첫 줄이어야 하며 titan.* 참조 불가 |
-- query-<class> | 더 큰 메모리 등급으로 실행을 고정. 리소스 오류에서 안내한 경우에만 사용 |
-- lint: | 크기가 제한된 typesql 진단 정책 블록 시작 |
sql
-- schema: finance
-- cadence: manual
-- depends_on: stripe.charges
-- unique_key: customer_id
-- lint:
-- TS0609: allow
select
customer as customer_id,
sum(amount) / 100.0 as revenue
from titan.stripe.charges
where status = 'succeeded' and not _deleted
group by customer이름 제약#
모델은 연결된 소스가 소유한 스키마에 쓸 수 없습니다. finance나 analytics 같은 파생 스키마를 선택하세요. 기본 파일 이름을 바꾸면 출력 테이블 이름도 바뀝니다.
실행 상태#
단계는 대기, 실행 중, 성공, 실패, 건너뜀 상태를 기록합니다. 수동 모델은 반복 실행에서 건너뜁니다. 종속 모델이 실패하면 그 결과에 의존하는 후속 단계는 시작하지 않습니다.
일반적인 실패#
순환 참조나 알 수 없는 명시적 종속성이 있으면 그래프를 거부합니다.
typesql 오류는
enforce실행을 중단하며 안정적인 코드로 기록됩니다.고유 키 열이 없으면 업서트 구체화를 거부합니다.
BigQuery로 라우팅되는 모델이
titan.*를 참조하면 제출 전에 거부합니다.쿼리 시간 초과나 메모리 예산 소진은 불완전한 테이블을 공개하지 않고 단계를 실패로 처리합니다.