Accéder au contenu principal Passer au contenu complémentaire

Créer des indicateurs Java personnalisés

Vous pouvez créer vos propres indicateurs Java personnalisés.

Les processus de gestion des indicateurs personnalisés Java sont les mêmes que ceux des indicateurs système.

Vous pouvez également importer un indicateur Java personnalisé prêt à l'emploi du dossier Exchange dans la vue DQ Repository. Cet indicateur java personnalisé se connecte à un serveur d'e-mails et vérifie si un e-mail existe.

Définir l'indicateur personnalisé

Procedure

  1. Dans la vue DQ Repository, développez successivement les nœuds Libraries > Indicators.
  2. Cliquez-droit sur User Defined Indicators.
    Menu contextuel du nœud User Defined Indicators (Indicateurs personnalisés).
  3. Sélectionnez New Indicator dans le menu contextuel.
    L'assistant [New Indicator] s'ouvre.
  4. Dans le champ Name, saisissez un nom pour l'indicateur Java que vous souhaitez créer.
    Note InformationsImportant:

    N'utilisez pas les caractères spéciaux suivants dans le nom des éléments : ~ ! ` # ^ * & \\ / ? : ; \ , . ( ) ¥ ' " « » < >

    Ces caractères seront remplacés par un "_" dans le système de fichiers et vous risquez de créer des doublons.

  5. Optional: Définissez les autres métadonnées (Purpose (Objectif), Description et Author (Auteur)) dans les champs correspondants puis cliquez sur Finish.
    L'éditeur d'indicateur s'ouvre et affiche les métadonnées de l'indicateur personnalisé.
    Vue d'ensemble des sections Indicator Metadata (Métadonnées de l'indicateur), Indicator Category (Catégorie de l'indicateur) et Indicator Definition (Définition de l'indicateur).

Configurer la définition et la catégorie de l'indicateur personnalisé

Before you begin

Vous avez sélectionné la perspective Profiling .

Procedure

  1. Dans la liste Indicator Category, sélectionnez une catégorie pour l'indicateur Java créé.
    La catégorie sélectionnée déterminera les colonnes attendues dans le résultat de l'analyse utilisant cet indicateur.
    Le tableau ci-dessous présente les catégories disponibles.
    Catégorie Description Résultats attendus de requêtes
    User Defined Match Évalue le nombre de données répondant à une condition. L'ensemble de résultats doit contenir une ligne et deux colonnes. La seconde colonne contient le nombre total de valeurs.
    Fréquence personnalisée Évalue la fréquence des enregistrements utilisant les indicateurs personnalisés pour chaque enregistrement distinct. L'ensemble de résultats doit contenir au moins zéro ligne et deux colonnes. La première colonne contient une valeur et la seconde contient la fréquence (nombre) de cette valeur.
    User Defined Real Value Evalue la fonction réelle des données. L'ensemble de résultats doit contenir une ligne et une colonne contenant une valeur réelle.
    User Defined Count (catégorie par défaut) Analyse la quantité d'enregistrements et retourne le nombre de lignes. L'ensemble de résultats doit contenir une ligne et une colonne contenant le nombre de lignes.
  2. Cliquez sur Indicator Definition puis sur le bouton [+].
  3. Dans la liste Database, sélectionnez Java.
  4. Saisissez la classe Java dans le champ Java Class.
    Note InformationsNote: Vérifiez que le nom de la classe inclut le chemin d'accès au package. Si cette chaîne de caractères n'a pas été correctement spécifiée, un message d'erreur s'affichera lorsque vous essayerez de sauvegarder l'indicateur personnalisé Java.
  5. Sélectionnez l'archive Java contenant la classe Java :
    1. Cliquez sur le bouton Edit.... La boîte de dialogue [UDI Selector] s'ouvre.
    2. Dans la vue Select libraries, cochez la case de l'archive contenant la classe Java et sélectionnez la classe dans le panneau inférieur de l'assistant.
    3. Cliquez sur OK.

      La boîte de dialogue se ferme et l'archive Java s'ouvre dans l'éditeur d'indicateur.

      Vous pouvez ajouter ou supprimer des archives Java depuis la vue Manage Libraries de cette boîte de dialogue.

      Pour plus d'informations sur la création d'une archive Java, consultez Créer une archive Java pour un indicateur personnalisé.

  6. Cliquez sur Indicator Parameters pour ouvrir la vue dans laquelle vous pouvez définir les paramètres afin de récupérer les valeurs des paramètres lors du codage de l'indicateur Java.
    Vue d'ensemble de la section Indicator Parameters (Paramètres des indicateurs).
    Vous pouvez récupérer la valeur des paramètres avec un code similaire à celui-ci, récupérant le paramètre EMAIL_PARAM :
    // Check prerequisite
            IndicatorParameters param = this.getParameters();
            if (param == null) {
                log.error("No parameter set in the user defined indicator " + this.getName()); //$NON-NLS-1$
                return false;
            }
            Domain indicatorValidDomain = param.getIndicatorValidDomain();
            if (indicatorValidDomain == null) {
                log.error("No parameter set in the user defined indicator " + this.getName()); //$NON-NLS-1$
                return false;
            }
    
            // else retrieve email from parameter
            EList<JavaUDIIndicatorParameter> javaUDIIndicatorParameter = indicatorValidDomain.getJavaUDIIndicatorParameter();
            for (JavaUDIIndicatorParameter p : javaUDIIndicatorParameter) {
                if (EMAIL_PARAM.equalsIgnoreCase(p.getKey())) {
    Pour un exemple plus détaillé de l'utilisation des paramètres dans un indicateur personnalisé Java, consultez la documentation disponible (en anglais).
  7. Cliquez sur le bouton [+] au bas de la table et définissez, dans la nouvelle ligne, les champs Parameters Key et Parameters Value, en cliquant dans chaque champ.
    Vous pouvez modifier ces paramètres par défaut ou ajouter de nouveaux paramètres à tout moment, lorsque vous utilisez cet indicateur dans une analyse de colonne. Pour ce faire, cliquez sur l'icône d'option d'indicateur dans l'éditeur d'analyse afin d'ouvrir une boîte de dialogue dans laquelle vous pouvez modifier les paramètres par défaut selon vos besoins, ou ajouter de nouveaux paramètres.
  8. Cliquez sur l'icône de sauvegarde en haut de l'éditeur.
    L'indicateur s'affiche sous le nœud User Defined Indicators, dans la vue DQ Repository. Vous pouvez utiliser cet indicateur dans des colonnes analysées via un simple glisser-déposer de la vue DQ Repository dans les colonnes listées dans l'éditeur.

Créer une archive Java pour un indicateur personnalisé

Avant de créer une archive Java pour l'indicateur personnalisé, vous devez définir, dans Eclipse, la plateforme cible par rapport à laquelle les plug-ins du répertoire Workspace seront compilés et testés.

Before you begin

Vous avez sélectionné la perspective Profiling .

Procedure

  1. Définissez la plateforme cible :
    1. Dans le menu Eclipse, sélectionnez Preferences (Préférences) pour afficher la boîte de dialogue Preferences (Préférences).
    2. Développez Plug-in Development et sélectionnez Target Platform, puis cliquez sur Add... afin d'ouvrir une vue dans laquelle créer la définition de la cible.
    3. Sélectionnez l'option Nothing: Start with an empty target definition, puis cliquez sur Next.
    4. Dans le champ Name, saisissez un nom pour la nouvelle définition de la cible, puis cliquez sur Next.
    5. Sélectionnez Installation dans la liste Add Content et cliquez sur Next.
    6. Utilisez le bouton Browse... pour définir le chemin d'accès au répertoire d'installation puis cliquez sur Next.
      Emplacement du bouton Browse (Parcourir)...

      La nouvelle définition de la cible s'affiche dans la liste des emplacements.

      La nouvelle définition de la cible s'affiche dans l'onglet Locations (Emplacements).
    7. Cliquez sur Finish pour fermer la boîte de dialogue.
  2. Créer une archive Java pour un indicateur personnalisé.
    1. Dans Eclipse, effectuez un check out sur le projet Git.

      Dans ce projet Java, vous pouvez trouver quatre classes Java correspondant aux quatre catégories d'indicateurs listées dans la vue Indicator Category dans l'éditeur d'indicateur.

      Exemple des quatre classes Java dans le projet Java.

      Chacune de ces classes Java étend l'indicateur UserDefIndicatorImpl. La capture d'écran ci-dessous montre un exemple d'utilisation de la classe Java MyAvgLength.

      package test.udi;
      
      import org.talend.dataquality.indicators.sql.impl.UserDefIndicatorImpl;
      
      /**
       * @author mzhao
       * 
       * A very simple example of a java implementation of a user defined indicator. This indicator returns a user defined
       * real value. It implements the minimum number of required methods.
       */
      public class MyAvgLength extends UserDefIndicatorImpl {
      
          private double length = 0;
      
          @Override
          public boolean reset() {
              super.reset();
              length = 0;
              return true;
          }
      
          @Override
          public boolean handle(Object data) {
              super.handle(data);
              // an indicator which computes the average text length on data which are more than 2 characters (this means that
              // text values with less than 2 characters are not taken into account).
              int dataLength = (data != null) ? data.toString().length() : 0;
              if (dataLength > 2) {
                  length += dataLength;
              }
              return true;
          }
      
          /*
           * (non-Javadoc)
           * 
           * @see org.talend.dataquality.indicators.impl.IndicatorImpl#finalizeComputation()
           */
          @Override
          public boolean finalizeComputation() {
              value = String.valueOf(this.length / (this.getCount() - this.getNullCount()));
              return super.finalizeComputation();
          }
      
      }
    2. Modifiez le code des méthodes suivant chaque @Override selon vos besoins.
    3. Optional: Utilisez les méthodes suivantes dans votre code pour retrouver les paramètres de l'indicateur :
      Méthode Description
      Indicator.getParameter() Retourne un objet IndicatorParameters.
      IndicatorParameters.getIndicatorValidDomain() Retourne un objet Domain.
      Domain.getJavaUDIIndicatorParameter() Retourne une liste de paramètres d'indicateurs Java personnalisés JavaUDIIndicatorParameter qui stocke chaque pair clé/valeur définissant le paramètre.
    4. Sauvegardez vos modifications.
    5. En utilisant Eclipse, exportez cette nouvelle archive Java.

Results

L'archive Java est maintenant prête à être jointe à tout indicateur Java que vous souhaitez créer dans la perspective Profiling.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.