Reconciliation Jobs
A reconciliation job (or “check”) compares data across two connections. It runs in two phases: extraction and comparison.
Extraction
Section titled “Extraction”A job is defined declaratively rather than with raw SQL queries: for each connection you specify the schema/table and a column mapping, plus optional filters. DataRecs extracts the mapped columns from each source into a staging area. Extractors run as isolated jobs with their own resource limits, keeping each run sandboxed.
For the full structure — dimensions, measures, stages, and tolerances — see Configuring a reconciliation job.
Comparison
Section titled “Comparison”Once both extractions complete, a comparator joins the sources on the job’s dimensions (the grouping columns) and evaluates the measures against each stage’s tolerances. Each row group is classified as:
- Matched — the group is present across all sources and every measure is within tolerance.
- Unmatched — the group is missing in one or more sources, or a measure is outside tolerance.
A run’s overall result is MATCHED only when every group joins across all sources and all
tolerances pass; otherwise it is UNMATCHED. See
Data types & comparison for the comparison semantics.
Job groups
Section titled “Job groups”You can organise related jobs into job groups and run them together on a schedule or on demand. Job groups track run history and aggregate status.
Scheduling
Section titled “Scheduling”Jobs can be triggered:
- Manually from the Console, CLI, or REST API.
- On a schedule via the built-in scheduler — create a schedule with a cron expression (and optional timezone) and the job runs automatically.
- From your own orchestrator — for example, trigger runs from Apache Airflow using the Airflow provider.