Gérer les fonctions personnalisées dans les bases de données - 6.3

Talend Big Data Platform Studio Guide utilisateur

EnrichVersion
6.3
EnrichProdName
Talend Big Data Platform
task
Création et développement
Qualité et préparation de données
EnrichPlatform
Studio Talend

La fonction d'expressions régulières existe dans de nombreuses bases de données, mais certaines autres ne les supportent pas. Les bases de données qui supportent nativement les expressions régulières sont : MySQL, PostgreSQL, Oracle 10g, et Ingres alors que Microsoft SQL server et Netezza ne les supportent pas, par exemple.

Le cas est différent lorsque la fonction d'expressions régulières est supportée par la base de données mais que le modèle de requête de l'indicateur de l'expression régulière n'est pas défini.

Dans la perspective Profiling de votre studio, vous pouvez :

Pour plus d'informations concernant l'utilisation des expressions régulières avec Teradata, consultez la documentation sur Talend Help Center (https://help.talend.com).

Pour plus d'informations concernant l'utilisation des expressions régulières avec Netezza, consultez Ce que vous devez savoir à propos de certaines bases de données.

Déclarer une fonction personnalisée dans une bases de données spécifique

La fonction d'expressions régulières n'est pas conçue dans tous les environnements de toutes les bases de données. Si vous souhaitez utiliser le studio pour analyser des colonnes par rapport à des expressions régulières dans des bases de données ne supportant pas nativement les expressions régulières, vous pouvez :

Soit,

  1. Installer les bibliothèques correspondantes d'expressions régulières dans la base de données. Pour un exemple de création d'une fonction d'expressions régulières dans une base de données, consultez Expressions régulières sur un SQL Server.

  2. Créer un modèle de requête pour la base de données dans le studio. Pour plus d'informations, consultez Définir un modèle de requête pour une base de données spécifique.

Soit,

  • Exécuter l'analyse de colonne en utilisant le moteur Java. Dans ce cas, le système utilisera les expressions régulières Java pour analyser la (les) colonne(s) spécifiée(s), et non les expressions régulières SQL. Pour plus d'informations concernant le moteur Java, consultez Utiliser le moteur Java ou SQL.

Définir un modèle de requête pour une base de données spécifique

Un modèle de requête définit la logique requise de la requête pour analyser des colonnes par rapport à des expressions régulières. Les étapes pour définir un modèle de requête dans le studio sont les suivantes :

  • Créer un modèle de requête pour une base de données spécifique,

  • Définir les expressions régulières spécifiques à la base de données, si ces expressions ne sont pas assez simples pour être utilisées dans toutes les bases de données.

L'exemple ci-dessous montre comment définir un modèle de requête spécifique pour la base de données Microsoft SQL Server. La Expressions régulières sur un SQL Server fournit un exemple détaillé de la création de fonction d'expressions régulières sur un SQL server.

Prérequis : La perspective Profiling du studio doit être ouverte.

Pour définir un modèle de requête pour une base de données spécifique, procédez comme suit :

  1. Dans la vue DQ Repository, développez successivement les nœuds Libraries et Indicators.

  2. Développez le dossier System Indicators puis l'indicateur Pattern Matching.

  3. Double-cliquez sur Regular Expression Matching, ou cliquez-droit et sélectionnez Open dans le menu contextuel.

    La vue correspondante s'affiche pour montrer les métadonnées des indicateurs et leur définition.

    Vous devez ajouter à la liste des bases de données celle pour laquelle vous souhaitez définir le modèle de requête. Ce modèle de requête calculera la correspondance d'expressions régulières.

  4. Cliquez sur le bouton [+] au bas de la vue Indicator Definition afin d'ajouter un champ pour le nouveau modèle.

  5. Dans le nouveau champ, cliquez sur la flèche et sélectionnez la base de données pour laquelle vous souhaitez définir le modèle. Dans cet exemple, sélectionnez Ingres.

  6. Copiez la définition de n'importe quel autre indicateur de n'importe quelle autre base de données.

  7. Cliquez sur le bouton Edit... à côté du nouveau champ.

    La boîte de dialogue [Edit expression] s'ouvre.

  8. Collez la définition de l'indicateur (le modèle) dans la zone Expression puis modifiez le texte après WHEN, afin d'adapter le modèle à la base de données sélectionnées. Dans cet exemple, remplacez le texte après WHEN par WHEN REGEX.

  9. Cliquez sur OK. Le nouveau modèle s'affiche dans le champ.

  10. Cliquez sur l'icône de sauvegarde en haut de l'éditeur afin de sauvegarder vos modifications.

Vous avez finalisé la création du modèle de requête spécifique à la base de données Ingres. Vous pouvez commencer à analyser les colonnes dans cette base de données par rapport aux expressions régulières.

Si l'expression régulière que vous souhaitez utiliser pour analyser des données sur le serveur est assez simple pour être utilisée avec les autres bases de données, vous pouvez commencer vos analyses de colonnes immédiatement. Sinon, vous devez éditer la définition de l'expression régulière pour travailler avec la base de données spécifique, Ingres dans cet exemple.

Si une analyse contenant un indicateur personnalisé est exécutée avec succès au moins une fois, et que, ultérieurement, le modèle de définition de l'indicateur pour la base de données est supprimé, l'analyse n'échoue pas. Elle continue à s'exécuter avec succès car elle utilise la requête SQL précédemment générée.

Pour plus d'informations concernant la définition d'expressions régulières spécifiques à une base de données, consultez Editer une expression régulière ou un modèle SQL et Dupliquer une expression régulière ou un modèle SQL.

Editer un modèle de requête

Vous pouvez éditer le modèle de requête que vous avez créé pour une base de données spécifique.

Prérequis : La perspective Profiling du studio doit être ouverte.

Pour éditer un modèle de requête pour une base de données spécifique, procédez comme suit :

  1. Dans la vue DQ Repository, développez successivement les nœuds Libraries et Indicators.

  2. Développez le dossier System puis l'indicateur Pattern Matching.

  3. Double-cliquez sur Regular Expression Matching, ou cliquez-droit et sélectionnez Open dans le menu contextuel.

    La vue correspondante s'ouvre pour afficher les métadonnées de l'indicateur et sa définition.

  4. Cliquez sur le bouton à côté de la base de données pour laquelle vous souhaitez éditer le modèle de requête.

    La boîte de dialogue [Edit expression] s'ouvre.

  5. Dans la zone Expression, éditez le modèle d'expression régulière comme nécessaire puis cliquez sur OK pour fermer la boîte de dialogue.

    Le modèle de l'expression régulière est modifié.

Supprimer un modèle de requête

Vous pouvez supprimer le modèle de requête que vous avez créé pour une base de données spécifique.

Prérequis : La perspective Profiling du studio doit être ouverte.

Pour supprimer un modèle de requête spécifique à une base de données, procédez comme suit :

  1. Dans la vue DQ Repository, développez successivement les nœuds Libraries et Indicators.

  2. Développez le dossier System puis l'indicateur Pattern Matching.

  3. Double-cliquez sur Regular Expression Matching, or cliquez-droit et sélectionnez Open dans le menu contextuel.

    La vue correspondante s'ouvre et affiche les métadonnées de l'indicateur ainsi que sa définition.

  4. Cliquez sur le bouton à côté de la base de données pour laquelle vous souhaitez supprimer le modèle de requête.

    Le modèle de requête sélectionné est supprimé de la liste dans la vue Indicator definition.