ドキュメントメニュー

クイックスタート#

このページを終えると、レイクに同期するソース、最新データに対するクエリ、4 時間ごとに自動で再構築するモデルができあがります。例では Stripe と HubSpot を使う架空の貨物輸送ソフトウェア企業 Skycrane を使います。手順に沿って、自分のデータに置き換えてください。

1. ソースを接続する#

アプリを開いてアプリを接続を選び、使いたいソースを選択します。Skycrane では Stripe を使います。各ソースは必要な情報だけを求めます。Stripe で必要なのは制限付き API キー 1 つです。Stripe ダッシュボードで約 1 分で読み取り専用として作成でき、漏えいしてもアカウントの内容を変更できません。各ソースのページで認証情報を説明しています。このガイドでは Stripe を使います。

キーを保存すると、初回の同期が自動で始まります。

2. データの取り込みを確認する#

同期履歴タブには、テーブルごとの同期の進捗が表示されます。完了すると、すべてのテーブルがソース名のスキーマ配下に作成されます。

text
titan.stripe.charges
titan.stripe.customers
titan.stripe.subscriptions
titan.stripe.invoices

以降は 4 時間ごとに再同期します。変更分だけを取得し、ソース側で削除された行は黙って消さずに印を付けます。それが後で説明する _deleted 列です。テーブルタブでは、同期するテーブルと列を細かく選べます。デフォルトではすべて有効です。

3. 最初のクエリを実行する#

クエリを開き、財務ダッシュボードで最初に確認したいことを調べます。

sql
select
  date_trunc('month', created_at) as month,
  round(sum(amount) / 100.0, 2) as gross_volume
from titan.stripe.charges
where not _deleted
group by month
order by month desc
limit 4
output
month       gross_volume
2026-08-01     291441.00
2026-07-01     338129.50
2026-06-01     331624.00
2026-05-01     319887.25

レイクのすべてのテーブルに当てはまるため、次の 2 点に注目してください。

  • Stripe は amount を最小通貨単位のセントで保存するため、100 で割ります。

このような注意点は、各コネクターのページで説明しています。

  • where not _deleted は Stripe で削除された行を除外します。

レイクは印を付けてその行を保持するため、履歴が黙って減ることはありません。システム列についてはレイクを参照してください。

異なるソースの結合も、同じソース内の結合と同じように行えます。Skycrane の進行中の商談と請求を、1 つの join で並べられます。

sql
select
  property_dealstage as stage,
  count(*) as deals,
  round(sum(property_amount)) as pipeline_value
from titan.hubspot.deals
where not _deleted and not property_hs_is_closed
group by stage
order by pipeline_value desc
output
stage                    deals  pipeline_value
contractsent                 7        412000.0
decisionmakerboughtin       11        280500.0
qualifiedtobuy              19        224000.0
presentationscheduled        9        118750.0

4. モデルにする#

明日も使いたいクエリはモデルにします。ファイルに記述した select 文を、Supernova がテーブルとして保持します。ファイルを開くか、Git でデータリポジトリをクローンして、models/monthly_revenue.sql を作成します。

sql
-- name: Monthly revenue
select
  date_trunc('month', created_at) as month,
  round(sum(amount) / 100.0, 2) as gross_volume,
  round(sum(amount_refunded) / 100.0, 2) as refunded
from titan.stripe.charges
where not _deleted
group by month

定義はこれですべてです。ファイルのベース名がテーブル名になり、モデルは 4 時間ごとに依存順で再構築されます。モデルから別のモデルを select from でき、Supernova が SQL 自体から順序を決めます。ほかのテーブルと同じようにクエリしてください。

sql
select * from titan.models.monthly_revenue order by month desc

モデルの作成では、出力スキーマ、キーによる増分更新、手動実行、型検証など、ヘッダーのディレクティブを説明しています。

次に読むページ#

  • レイクでは、テーブル、削除、スナップショットの

実際の仕組みを説明します。約 10 分で、ほかの機能の理解にも役立つ基礎を学べます。

  • 型注釈では、必要な SQL に型を追加します。

検証器がダッシュボードに影響する前に構造の変化を検出します。

  • 上限では、すべての上限を 1 つの表にまとめています。