Installere og bruke DQX¶
Denne veiledningen viser deg hvordan du installerer DQX i et Databricks-miljø uten direkte internettilgang og kjører datakvalitetskontroller mot tabeller i Unity Catalog.
Før du begynner¶
Sørg for at du har:
- Pip installert lokalt
- Tilgang til et Databricks-arbeidsområde
- Et Unity Catalog-volum du kan laste opp filer til
- Tilgang til tabellene du vil kjøre kontroller mot
Trinn 1: Last ned DQX og avhengigheter lokalt¶
Kjør følgende kommando lokalt for å laste ned DQX og alle avhengigheter som .whl-filer:
Python-versjonen må matche den som brukes i omgivelsen notebooken kjøres i.
Filene lagres i gjeldende mappe.
Trinn 2: Last opp pakkene til et Databricks-volum¶
Last opp alle nedlastede .whl-filer til et Unity Catalog-volum. Du kan gjøre dette via Databricks UI under Catalog → Volumes, eller med Databricks CLI:
Trinn 3: Installer DQX i notebooken¶
Legg til følgende som første celle i notebooken din:
%sh
pip install --no-index --find-links /Volumes/min_katalog/mitt_skjema/mitt_volum databricks_labs_dqx
Trinn 4: Kjør datakvalitetskontroller¶
Definer kontrollene og kjør dem mot tabellen din. Eksempelet nedenfor sjekker at foreign key-relasjonen mellom actions.command_id og command.id holder:
from databricks.labs.dqx.engine import DQEngine
from databricks.labs.dqx import check_funcs
from databricks.labs.dqx.rule import DQDatasetRule
from databricks.labs.dqx.contexts.workspace_context import WorkspaceContext
from databricks.labs.dqx.metrics_observer import DQMetricsObserver
from databricks.sdk import WorkspaceClient
all_checks = [
DQDatasetRule(
check_func=check_funcs.foreign_key,
check_func_kwargs={
"columns": ["command_id"],
"ref_columns": ["id"],
"ref_table": "my_catalog.my_schema.command",
},
)
]
observer = DQMetricsObserver(name="dq_metrics")
dq_engine = DQEngine(WorkspaceClient(), observer=observer)
input_df = spark.read.table("my_catalog.my_schema.actions")
valid, invalid, observation = dq_engine.apply_checks_and_split(input_df, all_checks)
display(invalid)
Bekreft resultatet¶
Sjekk invalid-dataframen etter at cellen er ferdig kjørt:
- Tom DataFrame — alle rader bestod kontrollene.
- Rader i DataFrame — disse radene brøt minst én kontroll. Kolonnene
_errorsog_warningsbeskriver hvilken sjekk som feilet og hvorfor.
For å se en oppsummering av observerte metrikker: