Types de règles - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Les types de règles fournies sont divisées en deux groupes : les types de règles simples et les types de règles avancées.

  • Les types de règles simples sont : Enumeration, Format et Combination. Les règles de ce type se composent de certains symboles ANTLR donnés.

  • Les types de règles avancées sont : Regex, Index et Shape. Les règles de ce type correspondent aux données segmentées et standardisent ces données si nécessaire.

Les règles de type avancé sont toujours exécutées après les règles spécifiques ANTLR. Aucun compte n'est tenu de leur ordre.

Pour plus d'informations concernant les règles simples et avancées, consultez Différents types de règles pour différents niveaux de parsing et Scénario 4 : Utiliser deux niveaux de parsing pour extraire des informations de données non structurées.

Pour créer les règles de tout type, Talend fourni les éléments suivants prédéfinis et sensibles à la casse (éléments ANTLR) pour définir la composition d'une chaîne de caractères à mettre en correspondance :

  • INT : integer (nombre entier),

  • WORD : word,

  • WORD+ : groupe de plusieurs mots,

  • CAPWORD : mot en majuscules,

  • DECIMAL : float décimal,

  • FRACTION : float fraction,

  • CURRENCY : devises,

  • ROMAN_NUMERAL : chiffres romains,

  • ALPHANUM : nombres alphanumériques (combinaison de caractères alphabétiques et numériques)

  • WHITESPACE : espace blanc,

  • UNDEFINED : chaînes de caractères non attendues, comme les codes ASCII qui ne sont reconnus par aucun autre élément.

Les trois tableaux suivants présentent successivement les informations détaillées concernant les types de règles simples, les types de règles avancées et les symboles ANTLR utilisés par les types de règles simples. Ces trois tableaux vous aident à compléter le tableau Conversion rules dans l'onglet Basic settings de ce composant.

Pour les types de règles simples :

Type de règle simple

Utilisation

Exemple

Avertissement

Enumeration

Une règle de ce type fournit une liste de critères facultatifs.

RuleName : Gender RuleValue : " 'Male' | 'Female'"

- Chaque option doit être écrite entre guillemets doubles.

- Les options définies doivent être séparées par le symbole |.

- Le nom de la règle doit commencer par une majuscule.

Format

(Le nom de la règle commence par une majuscule)

Une règle de ce type définit la composition d'une chaîne de caractères en spécifiant le type de chaque élément de cette chaîne.

RuleName : ProductNumber RuleValue : " DIGIT DIGIT LETTER '-' DIGIT DIGIT " Cette règle correspond aux chaînes de caractères telles que 13A-74.

- Seuls les types d'éléments pré-définis (les segments ANTLR) sont acceptés pour définir les éléments de chaîne de caractères. Ils sont sensibles à la casse  : DIGIT, LETTER, CAPWORD, WORD, INT, ALPHANUM, DECIMAL, FRACTION, CURRENCY, ROMAN_NUMERAL.

Format (Le nom de la règle commence par une minuscule)

Une règle de ce type définit la composition d'une chaîne de caractères en spécifiant le type de chaque élément de cette chaîne.

En plus des types d'élément prédéfinis, une règle Enumeration est applicable pour définir le type d'un élément d'une chaîne de caractères.

RuleName : length RuleValue : "DECIMAL LengthUnit " Cette règle correspond aux chaînes telles que 1.4 cm, où DecimalFloat est un des types d'éléments pré-définis et LengthUnit est une règle Enumeration défnissant " 'inch' | 'cm' ".

 

Combination

Une règle de ce type définit la composition d'une chaîne de caractères en spécifiant le type de chaque élément de cette chaîne.

Celle-ci utilise une règle Enumeration ou Format ou les deux.

RuleNam e: Size (or size)

RuleValue : "length BY length" Cette règle correspond aux chaînes de caractère telles que 1.4 cm by 1.4 cm, où length est une règle Format (commençant par une minuscule) et BY est une règle Enumeration définissant " 'By' | 'by' | 'x' | 'X' ".

- Pour la règle Combination, le texte ou les caractères littéraux ne sont pas acceptés comme faisant partie de la valeur de la règle.

Au besoin, vous devez créer une règle Enumeration pour définir ces textes ou ces caractères et utiliser ensuite cette règle à la place de la première.

Avertissement

Tout caractère ou chaîne de caractères constant(e) (string literals), s'ils sont acceptés par un type de règle, doivent être placés entre guillemets simples. Autrement, ils seront traités comme des symboles grammaticaux ou des variables ANTLR et généreront des erreurs ou des résultats non souhaités lors de l'exécution.

Pour les types de règles avancées :

Type de règle avancée

Utilisation

Exemple

Avertissement

Regex

Une règle de ce type utilise des expressions régulières pour mettre en correspondance les données entrantes segmentées par ANTLR.

RuleName : ZipCode RuleValue : "\\d{5}" Cette règle correspond aux chaînes de caractères telles que "92150".

Les expressions régulières doivent être compatibles avec Java.

Index

Une règle de ce type utilise un index de synonymes comme référence pour rechercher les données entrantes mises en correspondance.

Pour plus d'informations concernant les index de synonymes disponibles, consultez l'annexe relative aux dictionnaires de synonymes de données, dans le Guide utilisateur du Studio Talend.

Pour plus d'informations concernant les index de synonymes disponibles, consultez l'annexe concernant les dictionnaires des synonymes de données dans le Guide utilisateur du Studio Talend.

Un scénario est disponible dans Scénario 2 : Standardiser des adresses provenant de données non structurées.

- Sous Windows, les barres obliques inverses "\" doivent être remplacées par des barres obliques "/" si le chemin d'accès est copié à partir du fichier système.

- Lorsque vous traitez un enregistrement, une règle Index met en correspondance la première chaîne de caractères identifiée comme correspondante.

- Dans un Job Talend Map/Reduce, vous devez compresser chaque index de synonymes à utiliser en fichier Zip. Si vous utilisez Talend Oozie scheduler pour exécuter ce Job, vous devez placer le fichier .zip dans la distribution où le Job est exécuté.

Shape

Une règle de ce type utilise des segments pré-définis ainsi que des règles établies Regex ou Index ou les deux pour faire correspondre les données entrantes.

RuleName : Address RuleValue : "<INT><WORD><StreetType>"

Cette règle correspond aux adresses telles que 12 main street, où StreetType est une règle Index que vous devez définir avec cette règle d'exemple dans la vue Basic settings de ce composant.

Pour plus d'informations concernant le type de règle Shape, consultez Scénario 2 : Standardiser des adresses provenant de données non structurées.

- Les segments pré-définis sont :

-INT pour un entier ; -WORD pour un mot ; -WORD+ pour les caractères littéraux de plusieurs mots ;

-CAPWORD pour les mots en majuscule ;

-DECIMAL pour les types de données Float décimales ;

-FRACTION pour les types de données Float de fraction,

-CURRENCY pour les monnaies, -ROMAIN_NUMERAL pour les chiffres/nombres romains,

-ALPHANUM pour les nombres alphabétiques,

- UNDEFINED pour les chaînes de caractères contenant des codes ASCII inattendus, qu'aucun autre segment ne peut reconnaître.

- Seul le contenu placé entre < > est reconnu. Autrement, le contenu est considéré comme une erreur ou est omis.

Pour les symboles ANTLR donnés :

Symboles

Signification

|

alternative

's'

caractère littéral ou chaîne de caractères constante (string literal)

+

1 ou plus

*

0 ou plus

?

facultatif ou prédicat sémantique

~

ne correspond pas

Les scénarios suivants présentent des exemples d'utilisation de ces symboles, mais vous pouvez également trouver d'autres exemples en consultant ce site :

https://theantlrguy.atlassian.net/wiki/display/ANTLR3/ANTLR+Cheat+Sheet.