Dokumentacja modeli#
Model jest jednym plikiem SQL w katalogu models/. Nazwa pliku bez rozszerzenia staje się tabelą wyjściową, a ścieżka folderu określa schemat wyjściowy.
Dyrektywy początkowe#
Dyrektywy muszą znajdować się w początkowym nagłówku komentarzy. Parser analizuje najwyżej pierwsze 20 wierszy.
| Dyrektywa | Znaczenie |
|---|---|
-- name: | Jawna nazwa wyświetlana |
-- schema: | Jawny schemat wyjściowy |
-- cadence: manual | Wykluczenie z cyklicznych uruchomień całej organizacji |
-- depends_on: schema.table | Dodanie jawnej krawędzi grafu |
-- unique_key: column | Wstawianie lub aktualizowanie według tej kolumny zamiast zastępowania tabeli |
-- bigquery | Skierowanie instrukcji do BigQuery; musi być pierwszym wierszem i nie może odwoływać się do titan.* |
-- query-<class> | Przypięcie uruchomienia do większej klasy pamięci; używaj tylko po wskazaniu przez błąd zasobów |
-- lint: | Rozpoczęcie ograniczonego bloku polityki diagnostycznej typesql |
-- 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 customerOgraniczenia nazw#
Model nie może zapisywać do schematu należącego do połączonego źródła. Wybierz schemat pochodny, na przykład finance lub analytics. Zmiana podstawowej nazwy pliku zmienia nazwę tabeli wyjściowej.
Stany uruchomienia#
Kroki zapisują wynik oczekujący, w toku, pomyślny, nieudany lub pominięty. Modele ręczne są pomijane w cyklicznych uruchomieniach. Niepowodzenie zależności uniemożliwia uruchomienie kroków podrzędnych.
Częste niepowodzenia#
Cykl lub nieznana jawna zależność powoduje odrzucenie grafu.
Błąd typesql zatrzymuje uruchomienie
enforcei jest zapisywany ze stabilnym kodem.Brak kolumny klucza unikatowego powoduje odrzucenie materializacji przez wstawianie lub aktualizację.
Model skierowany do BigQuery, który odwołuje się do
titan.*, jest odrzucany przed przesłaniem.Przekroczenie czasu zapytania lub wyczerpanie budżetu pamięci kończy krok bez publikowania częściowej tabeli.