Apache NiFi - Processeur personnalisé
Apache NiFi est une plate-forme open source et donne aux développeurs la possibilité d'ajouter leur processeur personnalisé dans la bibliothèque NiFi. Suivez ces étapes pour créer un processeur personnalisé.
Téléchargez la dernière version de Maven à partir du lien ci-dessous.
https://maven.apache.org/download.cgi
Ajoutez une variable d'environnement nommée M2_HOME et définissez la valeur comme répertoire d'installation de maven.
Téléchargez Eclipse IDE à partir du lien ci-dessous.
https://www.eclipse.org/downloads/download.php
Ouvrez l'invite de commande et exécutez la commande Maven Archetype.
> mvn archetype:generate
Recherchez le type nifi dans les projets d'archétype.
Sélectionnez org.apache.nifi: projet nifi-processor-bundle-archetype.
Ensuite, dans la liste des versions, sélectionnez la dernière version soit 1.7.1 pour ce tutoriel.
Entrez le groupId, artifactId, version, package et artifactBaseName etc.
Ensuite, un projet maven sera créé avec des répertoires.
nifi-<artifactBaseName>-processors
nifi-<artifactBaseName>-nar
Exécutez la commande ci-dessous dans le répertoire nifi- <artifactBaseName> -processors pour ajouter le projet dans l'éclipse.
mvn install eclipse:eclipse
Ouvrez Eclipse et sélectionnez Importer dans le menu Fichier.
Sélectionnez ensuite «Projets existants dans l'espace de travail» et ajoutez le projet à partir du répertoire nifi- <artifactBaseName> -processors dans eclipse.
Ajoutez votre code dans la fonction publique void onTrigger (contexte ProcessContext, session ProcessSession), qui s'exécute chaque fois qu'un processeur est planifié pour s'exécuter.
Emballez ensuite le code dans un fichier NAR en exécutant la commande mentionnée ci-dessous.
mvn clean install
Un fichier NAR sera créé à nifi-
-nar / répertoire cible. Copiez le fichier NAR dans le dossier lib d'Apache NiFi et redémarrez le NiFi.
Après le redémarrage réussi de NiFi, vérifiez la liste des processeurs pour le nouveau processeur personnalisé.
Pour toute erreur, vérifiez le fichier ./logs/nifi.log.