-
Notifications
You must be signed in to change notification settings - Fork 4
Data Quality and Edge Cases
Ravi Kiran Pagidi edited this page Jun 28, 2026
·
1 revision
Good synthetic test data should be fake, schema-aligned, type-correct, logically consistent, and easy to inspect.
Realistic schema generation currently handles:
- aliases such as
cust_name,emp_name,email_id, andtxn_amt - age ranges and age/date-of-birth alignment
- non-future birth and historical dates
updated_at >= created_atend_date >= start_date- delivery and payment dates after order dates
- status-aware nulls for pending payments and orders
- unique non-null ID-like fields
- positive quantities
- total amount calculations where quantity and price fields are recognized
from great_generator import explain_generation_plan
plan = explain_generation_plan(
{"cust_nm": "string", "txn_amt": "double", "created_ts": "timestamp"}
)
print(plan)from great_generator import validate_generated_data
report = validate_generated_data(df, schema=schema, rules=custom_rules)
assert report["passed"], report["errors"]Semantic inference cannot know organization-specific meanings from every field name. Add custom rules for abbreviations or business logic that is local to your system. Spark validation currently avoids collecting distributed results and returns a note instead of a local report.