Créez un processeur NiFi personnalisé en étendant le processeur Ingest par défaut dans le kit d'outils NiFi.

Dans cette rubrique, vous allez apprendre à créer un processeur NiFi personnalisé en étendant le processeur Ingest par défaut dans le kit d'outils NiFi.

Procedure

Créez un processeur NiFi personnalisé en étendant le processeur Ingest par défaut dans le kit d'outils NiFi.
Pour configurer l'environnement du kit d'outils avec l'exemple de code source fourni commerce-custom-search-marketplace-seller.zip dans le même espace de travail que commerce-custom-search-bundles-9.1.x.x, comme expliqué dans le prérequis, suivez les étapes mentionnées ci-dessous. Et pour plus d'informations sur commerce-custom-search-bundles-9.1.x.x, voir Tutoriel : Personnalisation des connecteurs par défaut avec le profil Ingest.
Note: Vous pouvez utiliser n'importe quelle distribution Eclipse incluant le plug-in Maven (Maven version 3.8.4 ou ultérieure).
  1. Extrayez commerce-custom-search-marketplace-seller.zip dans un répertoire de travail, commerce-custom-search-marketplace-seller, qui contient un projet Maven avec un fichier pom.xml à l'intérieur.
  2. Copiez les fichiers JAR suivants obtenus à partir du conteneur NiFi dans le répertoire du projet commerce-custom-search-marketplace-seller/libs qui a été extrait du projet commerce-custom-search-marketplace-seller.zip. Pour plus d'informations, reportez-vous aux étapes 3 à 6 des processeurs NiFi personnalisés.

    Exemple de la version 9.1.10.0 :

    1. commerce-search-processors-9.1.10.0.jar
    2. hcl-cache-core-9.1.10.0-20220322.160926-24.jar
    3. cf-base-9.1.10.0-20220322.160733-7.jar
    ingest-api.jar, qui a été inclus dans le modèle de projet commerce-custom-search-marketplace-seller.zip, est déjà présent dans ce dossier.
    HCL Commerce Version 9.1.12.0 or laterNote: A partir de la version 9.1.12.0, ingest-api.jar n'est plus disponible dans les ressources du tutoriel.
  3. Mettez à jour le fichier pom.xml dans le répertoire racine du projet commerce-custom-search-marketplace-seller et modifiez les références de nom de fichier avec les noms des fichiers JAR.
    Exemple de la version 9.1.10.0 :
    <dependency> <groupId>com.hcl.commerce</groupId> <artifactId>dummy-commerce-search-processors</artifactId> <version>9.1.10.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/commerce-search-processors-9.1.10.0.jar</systemPath> </dependency> <dependency> <groupId>com.hcl.commerce</groupId> <artifactId>dummy-hcl-cache-core</artifactId> <version>9.1.10.0</version> <scope>system</scope> <systemPath> ${project.basedir}/libs/hcl-cache-core-9.1.10.0-20220322.160926-24.jar</systemPath> </dependency> <dependency> <groupId>com.ibm.commerce.cf</groupId> <artifactId>dummy-cf-base</artifactId> <version>9.1.10.0</version> <scope>system</scope> <systemPath> ${project.basedir}/libs/cf-base-9.1.10.0-20220322.160733-7.jar</systemPath> </dependency> 
  4. Importez le projet extrait en tant que projet Maven dans Eclipse (Fichier > Importer > Maven > Projets Maven existants) et sélectionnez le répertoire racine commerce-custom-search-marketplace-seller. Cliquez sur Terminer. Attendez que le téléchargement des dépendances soit terminé.

    Ce projet comporte un exemple de classe de fournisseur d'expression personnalisée ChangeSQL qui implémente l'interface IngestExpressionProvider. La classe ChangeSQL étend la SQL pour inclure une colonne "DESCRIPTION" de la table SELLERDESC. Vous pouvez utiliser cet exemple de référence pour apprendre à modifier le SQL utilisé dans les phases d'extraction, de transformation et de chargement (ETL) par défaut.

    ComposeDatabaseSQLTest est le test JUnit qui peut être utilisé pour vérifier la logique de code dans ChangeSQL.

    ChangeDocument est une extension post-processeur de profil Ingest qui montre comment effectuer d'autres manipulations de données après la transformation par défaut, dans une des phases Ingest liées au produit. CreateProductDocumentFromDatabaseTest est le test JUnit qui peut être utilisé pour vérifier la logique de code dans ChangeDocument. Dans cette classe, ajoutez une zone supplémentaire "seller_description" avec la valeur de la colonne "DESCRIPTION" de la table MPSELLERDESC dans le document à indexer dans Elasticsearch.

    Dans l'explorateur de projets, cliquez avec le bouton droit de la souris sur le projet commerce-custom-search-marketplace-seller-- > Exécuter en tant que > Génération Maven... (Notez qu'il existe deux éléments de menu : Génération Maven et Génération Maven.... Sélectionnez Génération Maven... ) La fenêtre Modifier la configuration s'ouvre.

    Entrez la commande clean install -U -Denforcer.skip=true dans la zone de texte Objectifs et cliquez sur le bouton Exécuter.

    Une fois la génération terminée, le fichier JAR sera disponible dans le répertoire cible de ce projet, par exemple : commerce-custom-search-marketplace-seller-9.1.x.0.jar. Pour plus d'informations, voir Processeurs NiFi personnalisés.

Dans cette rubrique, vous avez créé un processeur NiFi personnalisé en étendant le processeur Ingest par défaut à l'aide du kit d'outils NiFi. Dans la section suivante, vous allez tester la logique Ingest personnalisée dans le kit d'outils NiFi avant de pouvoir la déployer sur l'environnement de développement ou de production.

Test de la logique Ingest personnalisée dans le kit d'outils NiFi et génération d'un fichier JAR déployable

Dans cette rubrique, vous allez tester la logique de processeur NiFi personnalisée créée dans le kit d'outils NiFi avant de pouvoir la déployer sur l'environnement de production.

Procedure

Pour tester la logique Ingest personnalisée dans le kit d'outils NiFi et générer un fichier JAR déployable, procédez comme suit.

Pour exécuter le test JUnit, cliquez avec le bouton droit de la souris sur la classe de test JUnit choisie et choisissez Exécuter en tant que... ou Déboguer en tant que... > Test JUnit.

  1. Mettez à jour les projets en faisant un clic droit sur le projet et en sélectionnant Maven > Mettre à jour le projet.
  2. Sélectionnez commerce-custom-search-processors > commerce-custom-search-marketplace-seller > Force Update of Snapshots/Releases et cliquez sur le bouton OK. Régénérez les fichiers binaires pour le projet commerce-custom-search-bundles-9.1.10.0.
    Note:
    • Le projet de personnalisation commerce-custom-search-marketplace-seller n'a pas de dépendances sur le projet commerce-custom-search-bundles-9.1.x.x , mais il est recommandé de générer le projet commerce-custom-search-bundles-9.1.x.x avant de procéder à des personnalisations. Cela peut être utile pour d'autres personnalisations qui peuvent avoir des dépendances sur commerce-custom-search-bundles-9.1.x.x pour d'autres cas d'utilisation.
    • En cas de dépendances manquantes pour les fichiers JAR dummy-commerce-search-processors, dummy-hcl-cache-core ou dummy-cf-base, voir Dépannage : dépendances manquantes dans le processeur NiFi personnalisé.

    Générez les fichiers binaires pour le projet commerce-custom-search-marketplace-seller :

    Lancez une Génération Maven… sur le projet de groupement racine. Dans l'explorateur de projets, cliquez avec le bouton droit de la souris sur la racine (commerce-search-custom-bundle-9.1.x.x) et sélectionnez Exécuter en tant que > Génération Maven… . La fenêtre Editer la configuration s'affiche.

    Entrez la commande suivante dans la zone d'entrée Objectifs :
    clean install -U -Denforcer.skip=true
    Cliquez sur le bouton Exécuter.

    Une fois la génération réussie, les fichiers NAR peuvent être consultés dans le sous-répertoire cible du projet commerce-custom-search-processors. Pour plus d'informations, voir Processeurs NiFi personnalisés.

La logique de processeur NiFi unique du kit d'outils NiFi a été examinée dans cette rubrique. La logique Ingest peut désormais être personnalisée et déployée dans des environnements de production.