Lignes
La brick Lignes (catégorie Transform) applique une liste ordonnée
d'opérations sur les lignes du flux : filtrer, trier, échantillonner,
dédoublonner, limiter. Elle prend un flux en entrée (in) et produit un flux
en sortie (out) ; les colonnes ne changent pas, seuls le nombre et l'ordre
des lignes évoluent.
Les opérations s'appliquent dans l'ordre déclaré : un limit placé avant
un sort ne garde pas les mêmes lignes qu'après. Les logs d'exécution (niveau
debug) tracent le nombre de lignes avant/après chaque opération.
Opérations disponibles
filter : filtrer sur une condition
| Paramètre | Type | Description |
|---|---|---|
expression | texte | Condition de filtre, syntaxe pandas query (requis) |
Seules les lignes qui satisfont la condition sont conservées. Exemples :
age >= 18, pays == "FR" and montant > 100, statut in ["actif", "test"].
Une expression invalide fait échouer l'exécution (l'erreur est tracée dans
les logs).
Avant → après (expression: montant > 50) :
| client | montant | client | montant | |
|---|---|---|---|---|
| Ada | 120 | → | Ada | 120 |
| Bob | 30 | → |
sort : trier
| Paramètre | Type | Description |
|---|---|---|
by | liste | Critères de tri, chacun avec column (texte) et ascending (booléen, défaut true) |
Tri multi-colonnes stable : à valeurs égales sur les critères, l'ordre d'origine est préservé. Les colonnes inexistantes sont ignorées.
Avant → après (by: pays ascendant, puis montant descendant) :
| pays | montant | pays | montant | |
|---|---|---|---|---|
| FR | 30 | → | DE | 80 |
| DE | 80 | → | FR | 120 |
| FR | 120 | → | FR | 30 |
sample : échantillonner
| Paramètre | Type | Description |
|---|---|---|
mode | texte | top (défaut), random ou stratified |
n | entier | Taille de l'échantillon (défaut 100) |
by_column | texte | Colonne de stratification (mode stratified uniquement) |
seed | entier | Graine aléatoire, pour un tirage reproductible (optionnel) |
top: lesnpremières lignes ;random:nlignes tirées au hasard ;stratified: environnlignes réparties équitablement entre les valeurs deby_column(au moins une ligne par groupe). Siby_columnest absent du flux, la brick retombe sur le modetopavec un avertissement.
dedup : dédoublonner
| Paramètre | Type | Description |
|---|---|---|
columns | liste de textes | Colonnes définissant le doublon (défaut : toutes les colonnes) |
keep | texte | Occurrence conservée : first (défaut) ou last |
Avant → après (columns: [email], keep: first) :
| ville | ville | |||
|---|---|---|---|---|
| ada@ex.fr | Paris | → | ada@ex.fr | Paris |
| ada@ex.fr | Lyon | → | bob@ex.fr | Nice |
| bob@ex.fr | Nice | → |
limit : limiter (avec décalage)
| Paramètre | Type | Description |
|---|---|---|
n | entier | Nombre maximal de lignes conservées (défaut 100) |
offset | entier | Nombre de lignes sautées au début (défaut 0) |
Avant → après (n: 2, offset: 1) :
| id | id | |
|---|---|---|
| 1 | → | 2 |
| 2 | → | 3 |
| 3 | → | |
| 4 | → |
Bonnes pratiques
- Filtrez tôt : placer
filteren début de liste (et la brick Lignes tôt dans le pipeline) réduit le volume traité par tout ce qui suit. - Combinez
sortpuisdedupaveckeeppour maîtriser quelle occurrence d'un doublon survit (par exemple la plus récente). - En développement, un
sampleen modetopaccélère les tests ; fixezseeden moderandompour des exécutions reproductibles. - Pour filtrer sur une condition tout en conservant les lignes rejetées dans une autre branche, utilisez plutôt la brick Route.
Anciennes bricks remplacées
Cette méga-brick remplace les bricks atomiques Filter, Filter Rows, Sort
et Sample ; les opérations dedup et limit n'avaient pas d'équivalent
atomique. Voir
Bricks héritées pour la
table de correspondance.