Data Quality
Die Messung und Sicherstellung von Datenqualität anhand von Dimensionen wie Vollständigkeit, Genauigkeit, Konsistenz und Aktualität.
Automatische Prüfung von Daten auf Korrektheit, Vollständigkeit und Konsistenz – verhindert fehlerhafte Daten in Pipelines und ML-Modellen.
Data Validation prüft automatisch, ob Daten korrekt sind – bevor sie Schaden anrichten.
Was prüfen:
| Prüfung | Beispiel |
|---|---|
| Schema | Ist age eine Zahl? |
| Nulls | Ist email ausgefüllt? |
| Bereich | Ist age zwischen 0 und 150? |
| Format | Ist email eine gültige E-Mail? |
| Referenz | Existiert customer_id in Customers? |
import great_expectations as gx
# Expectation Suite definieren
suite = gx.ExpectationSuite("orders_suite")
suite.add_expectation(
gx.expectations.ExpectColumnValuesToNotBeNull(column="order_id")
)
suite.add_expectation(
gx.expectations.ExpectColumnValuesToBeBetween(
column="total", min_value=0, max_value=100000
)
)
# Validieren
results = validator.validate(dataframe)
if not results.success:
raise DataQualityError(results)
from pydantic import BaseModel, EmailStr, validator
class User(BaseModel):
name: str
email: EmailStr
age: int
@validator('age')
def age_must_be_valid(cls, v):
if not 0 <= v <= 150:
raise ValueError('Invalid age')
return v Data Validation ist wie Qualitätskontrolle in einer Fabrik: Bevor Teile weiterverarbeitet werden, prüfst du, ob sie den Spezifikationen entsprechen.
Schema-Validierung: Richtige Typen und Struktur
Business Rules: Werte in erlaubten Bereichen
Automatisiert in Pipelines, nicht manuell
ETL-Pipelines
Daten vor dem Laden prüfen
ML-Training
Trainingsdaten validieren
API-Inputs
Request-Daten prüfen
Schema (Typen, Pflichtfelder), Wertebereiche, Referentielle Integrität, Business Rules, Anomalien.
Abhängig: Ablehnen, Quarantäne, Warnung, Auto-Fix. Kritische Daten: Ablehnen. Unkritische: Warnung und weiter.