クエリの実行#
クエリを実行すると、Supernova は読み取り専用の文を 1 つ検証し、レイクの各テーブルを解決し、読み取るスナップショットを固定して、永続的な結果を記録します。そのため、実行中に同期がコミットされても、同じ SQL は一貫した一組のテーブルスナップショットを読み取ります。
select count(*) as active_customers
from titan.stripe.customers
where not _deleted実行の開始前#
TypeSQL の構文解析と分析によって、テーブル参照、注釈、パラメーター、未対応の文を識別します。受付時に許可される文は 1 つです。insert、update、delete、drop、attach、copy などのレイクを変更する文は、クエリがデータの認証情報を利用できるようになる前に拒否されます。
次に、カタログが titan.<schema>.<table> を特定のスナップショットに解決します。解決に失敗すると、リクエストは停止します。Supernova が、通知せずに新しいテーブルへ置き換えることはありません。
実行中#
アドホッククエリの実行時間の上限は 600 秒です。クエリページでは、進行中の実行をキャンセルできます。メモリ不足の場合、対象の処理をより大きいメモリ予算で再試行する場合がありますが、クエリ本文と選択されたスナップショットは変わりません。
永続化される結果は Parquet です。対話的な画面では、件数を限定したプレビューのみを表示する場合があります。各画面の正確な上限は、クエリの制限を参照してください。プレビューの上限によって、Parquet の結果が切り詰められることはありません。
結果とエクスポート#
クエリページで内容を確認し、すべての行が必要な場合は結果をダウンロードしてください。API はデフォルトで署名付き Parquet ファイルを返し、件数を制限する連携向けに、ページ分割されたインライン JSON も返せます。
行の順序が重要な場合は、必ず order by を指定してください。指定しなければ、プレビューでも後から結果を読み取る場合でも、順序は保証されません。
失敗#
失敗の分類とメッセージは、実行に記録されます。TypeSQL の診断は、安定した TS#### コードとソース位置を使用します。リソース制限では、どの上限に達したかを示します。キャンセルはクエリの失敗と区別されるため、自動化の処理で再試行すべきか判断できます。