Laboratory: run a CSV through a Session and Workflow
Create a reusable Mapping, Session and Workflow and verify four input records and three active output records.
On this page
Goal and expected result
This exercise follows Mapping → Session → Workflow in Dova 22.0.5. It uses four synthetic customers and keeps the three whose status is ACTIVE. This is an expected result to verify in your environment, not a new measurement of customer data. For direct browser-upload Mapping Run, see the CSV normalization demonstration.
Download the input · active-customers-input.csvDownload, expected output · active-customers-expected.csvDownload and file instructions · README.mdDownload. These contain no credentials and do not automatically import a definition.
Prepare the laboratory
You need authorization to design, publish and execute all three objects, a Repository location and a compatible worker. Put the input on a path authorized for that worker and prepare an independent laboratory output. A path on your laptop is not necessarily visible to a remote worker. If the run dialog requests a file, complete that input for the displayed context; do not assume an earlier attachment remains available.
customer_id,name,status,amount
D001,Demo Alfa,ACTIVE,125.50
D002,Demo Beta,INACTIVE,40.00
D003,Demo Gamma,ACTIVE,80.00
D004,Demo Delta,ACTIVE,0.00
1. Design and publish the Mapping
- Create
m_CustomersActive. AddFlat File inputwith CSV format, comma delimiter, header and the four sample columns. - Connect
Row filter:field=status,operator=equals,value=ACTIVE. It filters the record’s value. - Add
Field selectorwithcustomer_id,nameandamount. It removes status from both schema and output. - Connect
Flat File outputwith CSV format and header. Validate the graph, save and publish theMapping.
This chain contains four components. It does not convert amount to a number; the exercise retains its text values. Add and configure Convert type before any operation that needs numeric comparisons or ordering.
2. Configure the Session
- Create
s_CustomersActiveand select the publishedMappingversion. - Configure laboratory input/output bindings and select an eligible execution profile or worker for your environment.
- Review parameters and failure/retry policy. For initial acceptance, avoid retries that conceal an unresolved cause.
- Validate and publish the
Session. Check that its reference and schema correspond to the selectedMapping.
3. Arrange and execute the Workflow
- Create
wf_CustomersActive. Add aSessiontask and selects_CustomersActiveunderReusable session. - Connect Start →
Session→ End. Validate, save and publish. - Run manually with the test files. Record the attempt ID and open
Monitor. - Wait for a terminal state and open the
Sessiontask to inspect its available output. Do not enable a recurring schedule yet.
4. Compare the output
| Check | Expected value |
|---|---|
| Input records | 4, excluding the header. |
| Output records | 3, excluding the header. |
| Columns | customer_id,name,amount, in that order. |
| Identifiers | D001, D003 and D004; D002 is excluded. |
| Retained amounts | 125.50, 80.00 and 0.00 for the corresponding IDs. |
Compare by customer_id. Without Row sort, do not treat an observed record order as a universal guarantee. CSV quoting or newline differences do not by themselves invalidate the exercise’s values. Do not claim byte identity when only records were compared.
Extend the exercise and diagnose issues
After accepting the minimal Workflow, insert a Timer with Delay (seconds)=5 to observe a wait without changing the data. To explore Decision, use runMode and the expression in Tasks and links. Test both values in separate attempts before scheduling it.
If four records remain, inspect the filter and executed version. For a missing column, inspect Field selector and the target. If execution never starts, check Session publication, paths and worker eligibility. If it fails after writing, review recovery before repeating it.