Files
mo 21af36a591 feat(openmetadata): profiler + data-quality tests for data insight
Profiler:
- pg/mysql: table-level metrics via DB statistics (exact-ish row counts) only;
  source tables hold 24-53M rows and OM's column profiler full-scans per column
  (no TABLESAMPLE pushdown), which would hammer the live CDC source.
- trino/iceberg: full column metrics + sample data on the small (20-25k row)
  curated_masked + hadoop tables.

Data quality: 16 test cases across 5 tables (row counts on big sources; row
count + uniqueness/not-null/range on curated/masked + historical), all passing.
This populates OM's Data Quality dashboard (coverage, healthy assets,
dimensions, test results).
2026-06-27 14:55:48 +02:00

40 lines
1.2 KiB
YAML

source:
type: TestSuite
serviceName: atc_data_quality
sourceConfig:
config:
type: TestSuite
entityFullyQualifiedName: "atc_trino.iceberg.curated_masked.employee_events_masked"
processor:
type: orm-test-runner
config:
testCases:
- name: employee_events_masked_has_rows
testDefinitionName: tableRowCountToBeBetween
parameterValues:
- name: minValue
value: "1"
- name: maxValue
value: "100000000"
- name: employee_events_masked_event_id_unique
columnName: event_id
testDefinitionName: columnValuesToBeUnique
- name: employee_events_masked_event_id_not_null
columnName: event_id
testDefinitionName: columnValuesToBeNotNull
- name: employee_events_masked_email_not_null
columnName: employee_email_masked
testDefinitionName: columnValuesToBeNotNull
- name: employee_events_masked_natid_not_null
columnName: national_id_masked
testDefinitionName: columnValuesToBeNotNull
sink:
type: metadata-rest
config: {}
workflowConfig:
openMetadataServerConfig:
hostPort: http://openmetadata-server:8585/api
authProvider: openmetadata
securityConfig:
jwtToken: "__JWT__"