Qualité
La méga-brick Qualité enchaîne plusieurs contrôles sur les données, dans
l'ordre déclaré : valider une colonne selon une règle (validate) ou détecter
une correspondance de texte (match).
Elle remplace les anciennes bricks Validate Format et Match (voir Bricks héritées). La comparaison de deux flux reste une brick séparée : Compare.
| Entrées | Sorties |
|---|---|
in : le flux de données | out : le flux contrôlé |
validate : valider une colonne
Applique une règle de validation à une colonne. Selon on_fail, les lignes
invalides sont marquées d'une colonne booléenne, retirées du flux ou
simplement comptées dans les logs.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
column | string | — | Colonne à valider. |
check | string | not_null | Règle : not_null, regex, range, in_set. |
pattern | string | — | Expression régulière (pour check: regex). |
min / max | nombre | — | Bornes incluses (pour check: range ; l'une des deux suffit). |
allowed_values | liste | — | Valeurs autorisées (pour check: in_set). |
on_fail | string | flag | Action : flag (colonne booléenne), remove (supprime les lignes invalides), log_only (compte dans les logs). |
output_name | string | <colonne>_valid | Nom de la colonne booléenne (mode flag). |
Pour check: range, les valeurs sont converties en numérique ; une valeur non
convertible est considérée invalide. Pour regex, le motif est ancré au
début de la valeur (comportement re.match).
Avant :
| a@ex.fr |
| invalide |
Après (check: regex, pattern: ".+@.+", on_fail: flag, output_name: email_valid) :
| email_valid | |
|---|---|
| a@ex.fr | true |
| invalide | false |
Avec on_fail: remove, seule la ligne a@ex.fr resterait.
match : détecter une correspondance
Ajoute une colonne booléenne indiquant si la valeur correspond à un motif : contient, commence par, finit par ou expression régulière.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
column | string | — | Colonne à tester. |
pattern | string | — | Motif recherché (requis ; sans lui, l'opération est ignorée). |
mode | string | contains | Mode : contains, startswith, endswith, regex (motif ancré au début de la valeur, comme pour validate). En mode contains, le motif est lui aussi interprété comme une expression régulière : échappez les caractères spéciaux (., (, +…) pour une recherche littérale. |
case_sensitive | booléen | false | Respecter la casse. |
output_name | string | <colonne>_match | Nom de la colonne booléenne. |
Avant :
| label |
|---|
| Ticket urgent |
| RAS |
Après (pattern: "urgent", mode: contains, output_name: is_urgent) :
| label | is_urgent |
|---|---|
| Ticket urgent | true |
| RAS | false |
Bonnes pratiques
- Flag d'abord, remove ensuite : en développement, préférez
on_fail: flagpour inspecter les lignes rejetées avant de passer àremove. - Routez les invalides : combinez un
validateen modeflagavec la brick Route pour envoyer les lignes invalides vers un flux de rejet (fichier, notification…). log_onlypour la supervision : le décompte d'invalides apparaît dans les logs d'exécution sans modifier le flux, utile pour surveiller une source sans bloquer le pipeline (voir Détail d'une exécution).
Voir aussi : Bricks héritées.