쿼리 실행#
쿼리를 실행하면 Supernova는 읽기 전용 SQL 문 1개를 검증하고 모든 레이크 테이블을 확인한 뒤 읽을 스냅샷을 고정하고 결과를 영구 저장합니다. 따라서 실행 중에 동기화가 커밋되더라도 동일한 SQL은 일관된 테이블 스냅샷 집합을 읽습니다.
select count(*) as active_customers
from titan.stripe.customers
where not _deleted실행 전#
TypeSQL 구문 분석과 분석은 테이블 참조, 어노테이션, 매개변수, 지원되지 않는 SQL 문을 식별합니다. 허용 경계에서는 SQL 문 1개만 받습니다. insert, update, delete, drop, attach, copy처럼 레이크를 변경하는 SQL 문은 쿼리에 데이터 자격 증명이 제공되기 전에 거부됩니다.
그런 다음 카탈로그는 titan.<schema>.<table>을 정확한 스냅샷으로 확인합니다. 확인에 실패하면 요청을 중단합니다. Supernova는 알리지 않고 더 새로운 테이블로 대체하지 않습니다.
실행 중#
임시 쿼리의 실행 시간 제한은 600초입니다. 쿼리 페이지에서 진행 중인 실행을 취소할 수 있습니다. 메모리가 부족하면 재시도 가능한 작업에 더 큰 메모리 예산을 할당해 다시 실행할 수 있지만, 쿼리 텍스트와 선택한 스냅샷은 바뀌지 않습니다.
영구 저장되는 결과는 Parquet입니다. 대화형 화면은 제한된 미리보기만 표시할 수 있습니다. 각 화면의 정확한 제한은 쿼리 제한을 참고하세요. 미리보기 제한이 Parquet 결과를 잘라내는 것은 아닙니다.
결과와 내보내기#
쿼리 페이지에서 결과를 확인하고 모든 행이 필요하면 결과를 다운로드합니다. API는 기본적으로 서명된 Parquet 파일을 반환하며, 범위가 제한된 통합을 위해 페이지로 나눈 인라인 JSON을 반환할 수도 있습니다.
행 순서가 중요하면 반드시 order by를 사용해야 합니다. 없으면 미리보기와 이후 결과 읽기 모두 순서를 보장하지 않습니다.
실패#
실패하면 실행에 실패 분류와 메시지를 기록합니다. TypeSQL 진단은 안정적인 TS#### 코드와 소스 위치를 사용합니다. 리소스 제한 오류는 어떤 상한에 도달했는지 알려줍니다. 취소는 쿼리 실패와 구분되므로 자동화에서 재시도 여부를 결정할 수 있습니다.