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
- 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.
- 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 :
- commerce-search-processors-9.1.10.0.jar
- hcl-cache-core-9.1.10.0-20220322.160926-24.jar
- 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.
Note: A partir de la version 9.1.12.0, ingest-api.jar n'est plus disponible dans les ressources du tutoriel. - 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> - Importez le projet extrait en tant que projet Maven dans Eclipse () 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 (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 exécuter le test JUnit, cliquez avec le bouton droit de la souris sur la classe de test JUnit choisie et choisissez ou .
- Mettez à jour les projets en faisant un clic droit sur le projet et en sélectionnant .
- Sélectionnez 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-coreoudummy-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 . La fenêtre Editer la configuration s'affiche.
Entrez la commande suivante dans la zone d'entrée Objectifs :
Cliquez sur le bouton Exécuter.clean install -U -Denforcer.skip=trueUne 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.