Menu dokumentacji

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.

DyrektywaZnaczenie
-- name:Jawna nazwa wyświetlana
-- schema:Jawny schemat wyjściowy
-- cadence: manualWykluczenie z cyklicznych uruchomień całej organizacji
-- depends_on: schema.tableDodanie jawnej krawędzi grafu
-- unique_key: columnWstawianie lub aktualizowanie według tej kolumny zamiast zastępowania tabeli
-- bigquerySkierowanie 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
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

Ograniczenia 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 enforce i 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.