Hydra ETL
Build your first job
Hydra DSL3 · Destinationstype
Grammar element · destinations.<id>.type

type chooses the writer

Three correct CSV declarations. The discriminator selects who interprets connection and load.

destinations.yaml4 steps

      
What type selects

The connector responsible for opening the target and loading final rows.

✓ CSV writer selected

What destinations.<id>.type is

Destination type tells Hydra which connector must write the final rows.

It does not select the destination identifier or loading mode. Those remain separate so one connector family can serve many targets and policies.

What it contains

  • One normalized name — The value is stripped and lower-cased.
  • A registered writer — The registry builds the matching destination connector.
  • A contract boundary — That connector owns the meaning of connection and load.

Reading and writing share a vocabulary

Sources and destinations use the same type slot, but the selected connector is built for a direction. Here it must accept final rows and apply the declared load policy.

Destination type selects a writer The csv type selects the CSV destination connector that writes result.csv. type: csvwriter choice CSV destinationopens target result.csvrows loaded The direction is destination: the connector receives rows rather than producing them.
The discriminator chooses the writer; load chooses its target.

Run the complete example

Copy this manifest from the verified documentation project, then run it from the repository root.

version: "1.0"
destinations:
  dest_output:
    type: csv
    connection:
      base_path: "examples/tutorial/dsl-elements/out"
    load:
      table: result.csv
      mode: replace
      batch_size: 10000
hdrctl run examples/tutorial/dsl-elements
  ✅ Pipeline completed successfully in 2.6s
  Rows read   : 30
  Rows written: 6

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

hdrctl run [PATH]
  -s, --sources FILE          explicit path to sources.yaml
  -d, --destinations FILE     explicit path to destinations.yaml
  -t, --transformations FILE  explicit path to transformations.yaml
  -P, --param KEY=VALUE       override a parameter, repeatable

Close by

0 / 0 on this page