Hydra ETL
Build your first job
Get startedHydra CLILesson 6
Lesson 6 of 11 · Read the output

Turn up the verbosity when something is unclear

Replay the successful job at verbosity level two and connect its configuration summary, environment report, and metrics to the same output.

hdrctl run -vvabout 8 minutessuccessful first run

1. Objective

Goal

Run hdrctl run first-job -vv and interpret every additional section. Confirm that verbose mode changes observability only: the job still reads three rows, writes two, and replaces the same destination.

Course project

Keep working from the cli-course folder. The job is named first-job; every command and terminal excerpt in this lesson was run against that same project.

Prerequisites

  • Lesson 5 completed and its checklist confirmed.
  • The repository clone and hdrctl entry point from lesson 1.
  • A terminal opened in the parent folder that contains first-job.

2. Steps

01Confirm the verbosity levels

Objective

Select level two deliberately from the documented run options.

Actions

  1. Open the run help.
  2. Distinguish -v, -vv, and -vvv.
  3. Choose -vv because this lesson needs metrics.
hdrctl run --help
What you should see

The help identifies -vv as verbosity level two with metrics.

-v                          Verbosity level 1
-vv                         Verbosity level 2 (metrics)
-vvv                        Verbosity level 3 (full logs)

02Replay with metrics

Objective

Execute the same manifests while requesting level-two detail.

Actions

  1. Run the job again with -vv.
  2. Keep the path and every manifest unchanged.
hdrctl run first-job -vv
What you should see

The run succeeds with the same row counts, then prints three additional sections.

✅ Pipeline completed successfully in 2.9s
Rows read   : 3
Rows written: 2

Execution detail
from → src_csv  →  to → dest_csv
3 transformation(s) applied

03Read environment and engine timing

Objective

Separate environment discovery from executor metrics.

Actions

  1. Find the Environment variables section.
  2. Read the Metrics line as engine-reported duration, not the rounded wall-clock summary.
hdrctl run first-job -vv
What you should see

No job-level .env is found, and the executor reports its observed metrics.

Environment variables
No .env file found

Metrics
rows_in=3  rows_out=2  duration=0.019s

04Verify verbosity did not alter data

Objective

Prove that logging detail leaves destination semantics unchanged.

Actions

  1. Open the output CSV after the verbose run.
  2. Compare its header and two rows with lesson 5.
Get-Content first-job\data\output.csv
What you should see

Replace mode produces the same two-row file; verbosity does not duplicate or mutate rows.

id,name,value
1,Alice,100.0
2,Bob,200.0
Tips and traps

Keep the command beside its result. A verdict alone proves nothing a week later.

The Valid badge means the manifest parses. Only a run proves the job works.

Hydra resolves relative paths from the job folder, not from where you typed.

Trust the exit code, not the wording. A reassuring message can follow a failure.

When a command writes a file, open the file. Output can be stale or partial.

Durations and row counts change between runs. Never quote them as thresholds.

3. Checklist

VerificationExpected result
Flow detailsrc_csv → dest_csv
Transformation detail3 transformation(s) applied
MetricsReports rows_in=3 and rows_out=2
DestinationStill contains exactly the observed two data rows

4. Troubleshooting

SymptomCauseFix
No detail sections appearThe command used no verbosity flag or only -vUse the exact -vv option
Durations differ between runsWall-clock and executor timings vary by machine and runTreat the observed row counters and successful state as the stable evidence
Environment output surprises youA parent or job .env existsInspect only key names; never copy secret values into documentation

5. Next lesson

Verbose evidence now explains the successful run without changing it. The next lesson introduces a declared output-file parameter and overrides it with the repeatable -P option, leaving the manifest reusable.

Close by

0 / 0 on this page