Hydra ETL
Build your first job
Hydra DSL1 · Manifestdestinations.yaml
Grammar element · destinations.yaml

destinations.yaml decides how rows land

Three correct declarations. Walk them, then see where the writing policy lives.

destinations.yaml4 steps

      
What the engine prepares

The selected declaration supplies both the connector and its writing policy.

✓ 30 rows read · 6 written

What destinations.yaml is

destinations.yaml declares the systems a job is allowed to write to. Its root destinations mapping gives each target a local identifier; pipeline.to selects one.

It does not choose the data or transform it. Sources read, transformations reshape, and a destination receives the final rows with the writing policy declared here.

What it contains

  • Identity — the identifier referenced by pipeline.to.
  • Reachabilitytype selects a connector and connection supplies its settings.
  • Writing policyload names the table or file, the mode, optional upsert keys, and batch size.

The write policy belongs with the target

The same six rows can replace a reporting file, append to a history, or update matching database records. That choice belongs beside the target because it describes how that system accepts rows, not how the rows were produced.

The destination turns final rows into a write operation Six transformed rows enter the selected destination; its connector, target and load mode determine the write. 6 final rowsfrom transformations dest_big_orderscsv · big_orders.csv · replaceconnector · target · policy big_orders.csv6 rows written The rows are already final; the destination decides only where and how they land.
The destination owns the last decision: how the target is written.

Run the complete declaration

This is the destination used by the tutorial job:

version: "1.0"
destinations:
  dest_big_orders:
    type: csv
    connection:
      base_path: "examples/tutorial/01-first-job/out"
    load:
      table: big_orders.csv
      mode: replace
hdrctl run examples/tutorial/01-first-job -d examples/tutorial/01-first-job/destinations.yaml
  ✅ Pipeline completed successfully in 7.8s
  Rows read   : 30
  Rows written: 6

The relevant command syntax, copied from hdrctl run --help:

hdrctl run [PATH]
  -d, --destinations FILE   explicit path to destinations.yaml
  --dry-run                 validate configuration without writing data
  -v, -vv, -vvv             more detail, up to full logs

Close by

0 / 0 on this page