Hydra ETL
Build your first job
Hydra DSL5 · Transformationssteps
Grammar element · transformations.steps

steps is the ordered execution plan

Three valid lists. Add one operation at a time and keep the order visible.

transformations.yaml4 steps

      
What the engine applies

One normalized operation after another, each receiving the previous result.

✓ 1 ordered step

What transformations.steps is

steps is the ordered list of operations inside a job.

It is not a set of desired outcomes. Every list position is observable because the next operation receives the rows produced by the previous one.

What it contains

  • List entries — Each is a mapping with exactly one operation name.
  • Operation parameters — The value is validated against that operation model.
  • Sequence — Position is the execution order; no optimizer rearranges it.

A step is one boundary

One list entry should answer one question: what operation runs next? The single-key shape makes the boundary visible and keeps ordering reviewable in plain YAML.

Steps transform rows in list order Source rows pass through cast then filter, leaving six rows. source rowsinitial frame steps[]cast → filter 6 rowsprevious output Every arrow is a handoff from one list entry to the next.
The list is the plan, and its order is the execution.

Run the complete example

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

version: "1.0"
transformations:
  steps:
    - cast:
        mapping:
          amount: float
    - filter:
        expr: "amount > 50"
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