Blueprints Blog Contact About

Getting Started

Run your first data pipeline in under 5 minutes

Run your first data pipeline in under 5 minutes. No Kafka. No Airflow. No dbt.

1. Install

curl -fsSL https://ondatra.sh/install.sh | sh

One binary. No dependencies.

2. Create a Project

mkdir my-pipeline && cd my-pipeline
ondatrasql init

3. Write Your First Model

Create models/staging/orders.sql:

-- @kind: merge
-- @unique_key: order_id

SELECT * FROM (VALUES
    (1, 'Alice', 100, '2026-01-15'),
    (2, 'Bob',   200, '2026-02-20'),
    (3, 'Charlie', 150, '2026-03-10')
) AS t(order_id, customer, amount, order_date)

The file path becomes the table name: staging.orders.

4. Run It

ondatrasql run
Running 1 models...
[OK] staging.orders (merge, backfill, 3 rows, 180ms)

5. Query the Result

ondatrasql sql "SELECT * FROM staging.orders"
| order_id | customer | amount | order_date |
| -------- | -------- | ------ | ---------- |
| 1        | Alice    | 100    | 2026-01-15 |
| 2        | Bob      | 200    | 2026-02-20 |
| 3        | Charlie  | 150    | 2026-03-10 |

What Just Happened

You didn’t:

  • set up a database
  • configure a pipeline
  • write orchestration logic
  • install a warehouse

You wrote SQL, ran one command, and got a table.

6. Add a Downstream Model

Create models/mart/revenue.sql:

-- @kind: table

SELECT
    order_date,
    COUNT(*) AS orders,
    SUM(amount) AS total
FROM staging.orders
GROUP BY order_date

Run again:

ondatrasql run
Running 2 models...
[OK] staging.orders (merge, skip — unchanged)
[OK] mart.revenue (table, backfill, 3 rows, 150ms)

OndatraSQL detected the dependency, skipped what hadn’t changed, and built only what was needed. No configuration required.

7. Preview Changes Safely

ondatrasql sandbox

See what will change — row counts, schema diffs, downstream impact — before committing.

What Else Can You Do

That’s the Model

You don’t build pipelines. You run them.

Other install methods: Windows (WSL2), build from source (Go 1.25+ and gcc/clang).