Skip to main content
PYSPARK โ€ข LESSON 189

Automated Data Quality Rule Assertions

How do we execute programmatic data quality assertions to verify zero null IDs and zero negative amounts before publishing?

Productionโฑ 3 Minutesโญ 1420 XP
๐Ÿค” THE QUESTION

How do we execute programmatic data quality assertions to verify zero null IDs and zero negative amounts before publishing?

๐Ÿ’ก WHAT IS IT?

Evaluating aggregate validation metrics and executing Python assertions to block invalid data releases.

๐ŸŽฏ WHAT IS IT USED FOR?

Automated data testing in CI/CD pipelines, Great Expectations integration, and data contract enforcement.

๐Ÿ’ป EXAMPLE
from pyspark.sql.functions import col, count, when

dq_metrics = df.select(
    count(when(col("customer_id").isNull(), 1)).alias("null_cust_ids"),
    count(when(col("total_amount") < 0, 1)).alias("negative_amounts")
).collect()[0]

assert dq_metrics["null_cust_ids"] == 0, "Data Quality Assertion Failed: Null customer IDs"
assert dq_metrics["negative_amounts"] == 0, "Data Quality Assertion Failed: Negative amounts"

๐ŸŽฏ Mission Objectives

Practice typing production-grade PySpark code for Automated Data Quality Rule Assertions.

  • โœ“ Calculate data quality violation metrics
  • โœ“ Collect metrics row to driver
  • โœ“ Execute programmatic assertions to fail bad runs