Nettoyez automatiquement vos données grâce aux règles de blueprint
Les règles de blueprint par défaut appliquent une logique de nettoyage simple, comme le formatage des dates, pour vous aider à préparer vos données
Objectif
La Platform fournit des « règles de blueprint » par défaut qui consistent en une logique de nettoyage simple (comme le formatage des dates, les séparateurs de milliers, etc.) pour aider les utilisateurs à réaliser une préparation de données simple. Vous pouvez choisir parmi les transformations disponibles dans le Platform store et les appliquer si la condition définie est remplie.
Il n'est pas obligatoire d'utiliser les règles de blueprint lorsque vous utilisez la platform. Si elles sont utilisées, les règles seront automatiquement ajoutées aux actions Load du Data Processing Engine que vous définirez pour ingérer les données dans votre dataset.
Comment fonctionne une règle
Une règle s'applique à chaque ligne indépendamment et permet plusieurs choses.
Si une condition est spécifiée, la règle ne s'appliquera que sous certaines conditions exprimées dans condition et condition_value(s).
Si une transformation est renseignée, l'action de transformation sur chaque ligne sera effectuée, sinon, elle est considérée comme une règle de filtrage (keep).
Si aucune condition n'est renseignée, celle définie par défaut est ALL, qui autorise toute ligne.
Si aucune transformation ni condition n'est renseignée, alors nous considérons qu'il s'agit d'une transformation par défaut. Sinon, si aucune transformation n'est renseignée et qu'il y a une condition, l'action par défaut est keep. L'action ne s'applique qu'aux lignes qui répondent à la règle définie par condition.
Champs
Configurer une règle de blueprint
La configuration d'une règle nécessite 3 étapes :
- Information : nom de l'attribut
- Transformation : si la condition est confirmée, quelle action de transformation appliquer aux données (peut être choisie depuis le Platform store)
- Condition : quelle règle appliquer pour la condition
Pour ajouter une règle sur un attribut, sur le champ concerné, cliquez sur le bouton suivant :
Transformations
Différentes transformations sont disponibles dans le Platform store :
-
Replace by : les valeurs sont remplacées par une valeur unique
-
Substring : les valeurs seront tronquées
-
Date format : remplace les formats de date
-
Keep line : conserve les valeurs correspondantes
-
Skip line : ignore les valeurs correspondantes
-
Throw error : les valeurs correspondantes déclencheront une erreur
-
Replace substring : remplace les sous-chaînes correspondantes
-
Apply regexp : une nouvelle regexp sera appliquée aux valeurs correspondantes
-
Stop workflow : arrête le workflow en cours
Conditions
Différentes conditions sont disponibles :
La Platform vous propose une variété de conditions que vous pouvez appliquer à la transformation choisie. La liste comprend : Equal, Not Equal, Between, Not Between, Lower than, Lower or Equal than, Greater than, Greater or Equal than, REGEXP, NOT REGEXP, Is a number, Is not a number, Is a date, Is not a date, Is null, Is not null
Une fois la transformation et la condition définies, la règle sera appliquée à l'attribut sélectionné.
Référence
Les noms ci-dessous sont les valeurs écrites dans la règle elle-même, ce sont donc celles que vous utilisez lorsque vous éditez des règles en JSON, par exemple dans le mode avancé Load ou le mode avancé Aggregate.
Liste des conditions
Liste des transformations
-
keep : conserve la ligne
-
skip : ignore la ligne
-
default : Remplace la valeur par action_value. Pour les dates, il existe :
$todayrenvoie yyyy-mm-dd$nowrenvoie yyyy-mm-dd hh:mm:ss$yesterdayrenvoie yyyy-mm-dd
-
regexp_replace : Remplace la valeur correspondant à la regexp action_values[0] par action_values[1]
-
replace : Remplace la valeur correspondant à action_values[0] par action_values[1]
-
substring / substr :
-
Si action_values[0] >= 0 : Commence au caractère action_values[0]
-
Si action_values[0] < 0 : Ne prend en compte que les action_values[0] derniers caractères
-
Si action_values[1] est renseigné : Le 2ème chiffre représente le nombre maximum de caractères souhaité
-
-
date_replace : Remplace le format de date action_values[0] par action_values[1]. Exemples pour action_values :
["%d/%m/%Y", "%Y-%m-%d"]- Voir les directives de format de date ci-dessous
-
add : Ajoute plusieurs champs ou nombres en dur, en détectant automatiquement si, pour chaque valeur de action_values, il s'agit d'un attribut disponible dans la ligne, sinon elle est considérée comme un nombre. Exemples pour action_values :
["ca_ht", "taxes"]["nb_clics", 1]
-
sub : soustrait action_values[0] de toutes les autres données présentes dans action_values
-
mul : multiplie action_values[0] par action_values[1]
-
div : divise action_values[0] par action_values[1]
-
mod : modulo action_values[0] par action_values[1]
-
concat : concatène un ou plusieurs champs avec des chaînes en dur. Chaque élément de action_values détecte s'il s'agit du nom d'une colonne disponible dans la ligne, sinon nous le considérons comme une chaîne de caractères en dur. Exemples pour action_values :
["site_name", " - ", "country"]["civilite", " name", "lastname"]
-
ceil : arrondit action_value à la valeur supérieure
-
floor : arrondit action_value à la valeur inférieure
-
disaggregate / split : Permet de créer plusieurs lignes si un champ contient plusieurs valeurs qui doivent être réparties dans des lignes séparées. Il ne peut y avoir qu'une seule règle disaggregate par action DPE, et cette règle s'applique toujours en dernier. Le champ est découpé sur le caractère action_value, et pour chaque élément découpé, seules les valeurs non vides sont conservées.
-
action_error : entraîne une erreur dans l'action, et considère par conséquent que toutes les lignes sont fausses
-
stop_workflow : arrête le workflow
Directives de format de date
Exemples de règles
Remplacer un format de date :
Ajouter 1 à l'attribut year, uniquement sur les lignes où il vaut 2015 ou 2016 :
Définir year à 2015 sur les lignes où il est inférieur à 2015 :
Définir l'attribut date à la date du jour :
Convertir une température de Kelvin en Celsius :
Normaliser un timestamp :
Aller plus loin
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.
Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.
Rejoignez notre communauté d'utilisateurs.