Hydra ETL
Build your first job
Get startedBuild your first job
Hydra Studio quickstart

Build your first Studio job

Download a working file-to-file example, import it into a blank Studio project, inspect its four manifests, and verify its first execution.

first-project / first-workflow / first-job-exampleabout 20 minutes4 manifests + 1 CSV

1. Download the example

Take the complete archive or download only the files you need. The archive preserves the expected folder structure.

Expected project structure

Studio stores jobs below the project. Keep the input and output folders at project level so the relative paths in the manifests resolve unchanged.

first-project/
├── data/
│   └── orders.csv
├── output/
├── jobs/
│   └── first-job-example/
│       ├── sources.yaml
│       ├── destinations.yaml
│       ├── transformations.yaml
│       └── pipeline.yaml
└── workflows/
    └── first-workflow/

2. Integrate the job in Studio

01Create a blank project

Actions

  1. Open Hydra Studio.
  2. Create a project named first-project.
  3. Choose the blank or empty project option.
  4. Open the new project.
What you should see

first-project opens without an existing workflow or job.

02Create the first workflow

Actions

  1. Create a workflow named first-workflow.
  2. Choose Manual as its trigger.
  3. Open the workflow editor.
What you should see

The header identifies first-workflow and the editor opens on an empty canvas.

03Import the downloaded job

Actions

  1. Extract first-job-example.zip.
  2. In Studio, select Workflow configuration.
  3. Open Import, then select Import a job.
  4. Choose the extracted folder that contains the four YAML manifests.
  5. When the browser asks for permission, select Upload.
What you should see

Studio reads the four manifests, creates a job named from the selected folder, and adds it to the project.

Hydra Studio Workflow configuration with the Import menu open on Import a job
Choose the job folder. The import command expects a folder containing four YAML files.
Browser confirmation asking permission to upload every file from the first-job-example folder
Allow the folder upload. Confirm only after checking that the selected folder is the extracted example.
Manual alternative

If folder import is unavailable, open Jobs configuration, select the + button, create first-job-example, then paste the four downloaded manifests into their matching Hydra DSL tabs.

04Explore the imported job

Actions

  1. Switch to Jobs configuration.
  2. Select the first-job-example tab.
  3. Read the source node, destination node, connecting edge, and validity indicator.
  4. Confirm that Run Job is available.
What you should see

The imported declarations become a two-node graph: src_orders flows to dst_orders_clean, and the header reports Valid.

Imported first-job-example open in Jobs configuration with source and destination nodes connected
The job after import. The tab at the bottom identifies the imported folder; the canvas shows the pipeline reconstructed from its manifests.

05Explore the four DSL manifests

Actions

  1. Select Hydra DSL.
  2. Open Sources, Transformations, Destinations, and Pipeline in turn.
  3. Compare each panel with the downloaded file of the same name.
  4. If a panel is empty or incomplete, paste the matching downloaded manifest.
  5. Save after all four panels match the example.
Downloaded filePaste intoPurpose
sources.yamlSourcesRead orders
destinations.yamlDestinationsWrite cleaned orders
transformations.yamlTransformationsKeep and normalize valid rows
pipeline.yamlPipelineWire src_orders to dst_orders_clean
What you should see

Studio regenerates a source-to-destination graph and the header reports Valid.

Hydra DSL button highlighted above the imported job canvas
Open the DSL inspector. The four manifest tabs appear in a panel beside the canvas.
Hydra DSL Sources tab showing a CSV source and the relative orders data path
Sources. Confirm the CSV type, source identifier, and relative path to orders.csv.
Hydra DSL Transformations tab open beside the job canvas
Transformations. If the tab contains an empty step list, replace it with the downloaded transformation chain.
Hydra DSL Destinations tab showing a CSV destination configuration
Destinations. Confirm that load.table points to the project output file; an empty value must be replaced.
Hydra DSL Pipeline tab showing source and destination references
Pipeline. Its from and to values must match the identifiers declared in Sources and Destinations.

06Place the input data

Actions

  1. Open the workspace folder used by Studio.
  2. Create first-project/data if it does not exist.
  3. Copy the downloaded orders.csv to first-project/data/orders.csv.
  4. Create first-project/output for the generated result.
first-project/data/orders.csv
What you should see

The input file contains twelve orders and is reachable through ../../data/orders.csv from the imported job folder.

07Run the job

Actions

  1. Return to the first-job-example canvas.
  2. Confirm the API is online and the job is valid.
  3. Select Run Job.
  4. Wait for a terminal state before editing anything.
What you should see

The lower execution panel opens and the job moves from pending to running, then to success.

08Verify the execution

Actions

  1. Read the terminal status and row counters.
  2. Open first-project/output/orders_clean.csv.
  3. Confirm pending, cancelled, and zero-amount orders are absent.
  4. Open Runs to inspect the persisted execution.
StatusSUCCESS
Rows in12
Rows out8
id,order_date,region,customer,amount
1001,2026-01-04,north,Alice,120.5
1002,2026-01-05,south,Bob,89.0
…
1012,2026-01-14,west,Lea,64.3
Tips and traps

Keep the downloaded filenames unchanged so each manifest is pasted into the correct editor.

Paths are resolved from jobs/first-job-example. Moving orders.csv without updating sources.yaml breaks the run.

Wait for Valid before selecting Run Job.

A successful animation is not enough. Confirm the terminal state, counters, and output file.

3. Completion checklist

VerificationExpected result
Projectfirst-project
Workflowfirst-workflow, Manual trigger
Jobfirst-job-example
ManifestsFour files saved and Valid
InputTwelve rows in data/orders.csv
ExecutionSuccess, 12 rows in, 8 rows out
Outputoutput/orders_clean.csv
0 / 0 on this page