Configuration d'expressions régulières dans Teradata

EnrichVersion
6.4
6.3
6.2
6.1
6.0
5.6
EnrichProdName
Talend Real-Time Big Data Platform
Talend Data Services Platform
Talend Open Studio for Data Quality
Talend MDM Platform
Talend Data Fabric
Talend Open Studio for MDM
Talend Big Data Platform
Talend Data Management Platform
task
Qualité et préparation de données > Profiling de données
EnrichPlatform
Studio Talend

Utilisation d'expressions régulières dans Teradata

Pour identifier les données incorrectes, vous souhaitez peut-être utiliser des indicateurs de modèles. Pour fonctionner, ces indicateurs ont recours à des expressions régulières. Dans Teradata, la fonction des expressions régulières est installée par défaut à partir de la version 14.

Pour utiliser la fonction des expressions régulières dans une version antérieure à la version 14 de Teradata, vous devez installer une fonction définie par l'utilisateur (UDF).

Création d'un utilisateur dans Teradata

Vous devez créer un utilisateur Teradata ayant les droits d'accès CREATE FUNCTION et EXECUTE FUNCTION.

Procédure

  1. Connectez-vous à Teradata en utilisant dbc comme nom d'utilisateur et mot de passe.
  2. Pour créer un utilisateur, exécutez la commande suivante :
    CREATE user test AS password=test perm = 200000000, SPOOL = 100000000;
  3. Accordez au moins les droits d'accès CREATE FUNCTION et EXECUTE FUNCTION à l'utilisateur que vous avez créé.

Création d'une fonction personnalisée à l'aide d'un programme écrit en C

Vous pouvez créer une fonction personnalisée en vous servant d'un programme écrit en C et l'installer sur la base de données de Teradata afin d'utiliser des expressions régulières.

Avant de commencer

  • Récupérez le fichier Regex_INSTR.c dans l'onglet Downloads du panneau situé à gauche de la page.

Procédure

  1. Créez un programme écrit en C comme Regex_INSTR.c.
  2. Ajoutez ce fichier écrit en C à votre base de données Teradata.
  3. Connectez-vous à Teradata en vous servant de l'utilisateur créé précédemment.
  4. Pour créez une fonction personnalisée, exécutez la commande suivante, par exemple :
    CREATE FUNCTION Regex_INSTR (
    InputString VARCHAR(4096) CHARACTER SET LATIN,
    PatternString VARCHAR(512) CHARACTER SET LATIN )
    RETURNS INTEGER
    LANGUAGE C
    NO SQL
    EXTERNAL NAME 'CS!Regex_INSTR!/Regex_INSTR.c!F!Regex_INSTR1'
    PARAMETER STYLE SQL;
  5. Testez la fonction personnalisée en utilisant l'instruction SQL suivante :
    select Regex_INSTR('A','[A-Z]');
    L'instruction doit retourner 1.

Modification des indicateurs de modèles et utilisation de ces indicateurs dans une analyse de colonnes

Avant de pouvoir utiliser des expressions régulières dans des colonnes analysées d'une base de données, vous devez d'abord déclarer la fonction de l'expression régulière créée en ajoutant l'instruction SQL et le modèle.

Procédure

  1. Dans la perspective Profiling, développez Libraries > Indicators > System Indicators.
  2. Dans le dossier Pattern Matching, double-cliquez sur Regular Expression Matching.
  3. Dans la vue Indicator Definition, cliquez sur [+].
  4. Dans la nouvelle ligne d'indicateur, sélectionnez Teradata dans la liste Database.
  5. Cliquez sur Edit... à côté du nouveau champ pour ouvrir la boîte de dialogue Edit expression.
  6. Dans la zone Expression, ajoutez l'expression SQL suivante :
    SELECT COUNT(CASE WHEN Regex_INSTR(<%=__COLUMN_NAMES__%>,<%=__PATTERN_EXPR__%>) =1 THEN 1 END), COUNT(*)FROM <%=__TABLE_NAME__%> <%=__WHERE_CLAUSE__%>
  7. Ajoutez l'indicateur de modèles modifié dans une analyse de colonnes.
  8. Exécutez l'analyse et passez à la page Analysis Results.
  9. Dans la table Pattern Matching, cliquez-droit sur les résultats des modèles et sélectionnez View invalid rows, par exemple. L'éditeur SQL editor s'ouvre et affiche une liste de données invalides. L'expression SQL s'affiche comme suit :
    SELECT * FROM "test"."Employee" WHERE ( not REGEX_INSTR("FULLNAME" , '^[A-Z]+' ) =1 OR "FULLNAME" IS NULL )

Utilisation de la vue Pattern Test

Dans la vue Pattern Test View, vous pouvez tester une chaîne de texte par rapport à une expression régulière.

Procédure

  1. Dans la barre de menu du Studio Talend, cliquez sur Window > Show View.
  2. Dans le champ du filtre, commencez à saisir Pattern Test View.
  3. Sélectionnez Pattern Test View, puis cliquez sur OK.
  4. Sélectionnez l'option DB Connections, puis sélectionnez votre connexion à Teradata dans la liste.
  5. Dans les champs Test Area et Regex, saisissez respectivement votre chaîne de caractères de test et votre expression régulière.
  6. Cliquez sur le bouton Test.

Résultats

Les correspondances et non-correspondances s'affichent dans la vue.