Création d'un groupe de processus NiFi personnalisé
Les groupes de processus NiFi et leurs connexions sont les blocs de construction du pipeline de flux de données qui exécutent les tâches d'ingestion et de transformation des données afin de préparer les données pour l'index de recherche. La création de votre propre groupe de processus personnalisé permet d'effectuer différentes tâches d'ingestion et de transformation des données en fonction d'exigences métier spécifiques. Voici les quatre modèles par défaut pour vous aider à démarrer avec la création d'un groupe de processus spécifique en fonction de votre logique métier.
- Utilisez le conteneur Ingest pour créer un connecteur en important un modèle de connecteur. Pour plus de détails, reportez-vous au tutoriel sur la marge bénéficiaire.
- Importez les modèles de groupe de processus individuels et connectez-les pour créer un pipeline personnalisé.
http://<hostname/IP>:30600/nifi/) puis importez les modèles de groupe de processus directement à partir du registre NiFi. Pour en savoir plus sur l'importation de ces modèles par défaut à partir du registre NiFi, voir La documentation du registre NiFi Voici la description détaillée, ainsi que les noms de ces modèles de groupe de processus par défaut.
Mise à jour de schéma
Nom du modèle dans le registre NiFi : _Template-Schema
Le schéma Elasticsearch définit la façon dont vos données sont stockées dans Elasticsearch. Ce modèle de groupe de processus NiFi fournit les processus requis pour modifier les définitions de schéma Elasticsearch existantes. Tous les processus sont regroupés dans un groupe de processus pour une meilleure organisation.
Après avoir importé ce modèle, vous devez travailler sur les processus requis pour extraire et entrer des données dans Elasticsearch. Ce modèle ne fournit pas de processus pour l'extraction et l'entrée de données dans Elasticsearch. Il fournit uniquement le processus de modification de la structure de données en fonction de laquelle Elasticsearch organise et utilise les données. Les modèles Java fournissent le modèle nécessaire à la prise en charge du processus complet.
Java ETL (base de données)
Nom du modèle dans le registre NiFi : _Template-DatabaseETL
Semblable au modèle Groovy, le modèle Java fournit également les processus requis pour extraire, transformer et créer les données pour l'index Elasticsearch. Le modèle fournit le groupe de processus comprenant les processeurs qui exécutent la logique de transformation des données. Dans ce cas, l'extraction est effectuée via un processus écrit personnalisé que vous créez à l'aide de Java dans un éditeur Java de votre choix. Ce processeur Java personnalisé doit être déployé en tant que fichier NAR à utiliser dans NiFi. Voir Génération et déploiement d'un fichier NAR personnalisé. Le processeur Java personnalisé consomme un message de flux NiFi et transforme les données pour créer la partie du document (_doc) requise pour remplir l'index Elasticsearch.
Pour utiliser le nouveau processeur de mappage simple, voir Configuration du connecteur/pipeline dans NiFi.
Le modèle Groovy utilise le processeur Apache NiFi par défaut (ScriptExecutor) avec le code Groovy pour la transformation des données, tandis que le modèle Java utilise le processeur personnalisé écrit en Java et déployé dans NiFi pour la transformation des données.
- Exécutez le groupe de processus SQL : Ce groupe de processus contient le SQL utilisé pour extraire des données de la base de données HCL Commerce. Ce groupe de processus ne prend pas en charge la pagination de base de données.
- Processeur du canal du connecteur personnalisé : Ce processeur contient la logique de transformation écrite dans Java.
- Groupe de processus distant de flux NiFi : Ce groupe de processus achemine le document prêt pour l'index vers un autre service en masse pour l'indexation vers Elasticsearch.
- Acheminer sur le groupe de processus de catalogue principal : Ce groupe de processus permet au seul flux de données de passer par le catalogue principal. Il est également capable de travailler avec WaitLink pour le blocage.
- Réindexation complète
- Mise à jour en quasi-temps réel (NRT)
- Chargement des données
Java ETL (pagination de base de données)
Nom du modèle dans le registre NiFi : _Template-DatabasePagingETL
Semblable au modèle Java, ce modèle fournit également les processus requis pour extraire, transformer et créer les données pour l'index Elasticsearch. Le modèle fournit le groupe de processus comprenant les processeurs qui exécutent la logique de transformation des données. Dans ce cas, l'extraction est également effectuée via un processus écrit personnalisé que vous créez à l'aide de Java dans un éditeur Java de votre choix. Ce processeur Java personnalisé doit être déployé en tant que fichier NAR à utiliser dans NiFi. Voir Génération et déploiement d'un fichier NAR personnalisé. Le processeur Java personnalisé consomme un message de flux NiFi et transforme les données pour créer la partie du document (_doc) requise pour remplir l'index Elasticsearch.
Pour utiliser le nouveau processeur de mappage simple, voir Configuration du connecteur/pipeline dans NiFi.
En outre, ce modèle se compose d'un processus SQL pour renvoyer un jeu de résultats important et un processus de pagination pour la logique NiFi.
- Groupe de processus SCROLL SQL : Ce groupe de processus contient le SQL utilisé pour extraire des données de la base de données HCL Commerce. Il prend en charge la pagination de base de données.
- Processeur du canal du connecteur personnalisé : Ce processeur contient la logique de transformation écrite dans Java.
- Groupe de processus distant de flux NiFi : Ce groupe de processus achemine le document prêt pour l'index vers un autre service en masse pour l'indexation vers Elasticsearch.
- Acheminer sur le groupe de processus de catalogue principal : Ce groupe de processus permet au seul flux de données de passer par le catalogue principal. Il est également capable de travailler avec WaitLink pour le blocage.
- Réindexation complète
- Mise à jour en quasi-temps réel (NRT)
- Chargement des données

Groovy ETL (base de données)
Nom du modèle dans le registre NiFi : _Template-Groovy-DatabaseETL
Vous pouvez utiliser Groovy pour le prototypage mais son utilisation n'est pas recommandée pour les environnements de production.
- Exécutez le groupe de processus SQL : Ce groupe de processus contient le SQL utilisé pour extraire des données de la base de données HCL Commerce.
- Processeur du canal du connecteur personnalisé : Ce processeur contient la logique de transformation écrite dans Groovy.
- Groupe de processus distant de flux NiFi : Ce groupe de processus achemine le document prêt pour l'index vers un autre service en masse pour l'indexation vers Elasticsearch.
- Réindexation complète
- Mise à jour en quasi-temps réel (NRT)
- Chargement des données