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.

Vous pouvez créer un pipeline personnalisé de l'une des manières suivantes :
  • 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é.
Les quatre modèles de groupe de processus suivants sont livrés avec le registre NiFi par défaut. Pour importer individuellement l'un de ces modèles, utilisez l'interface utilisateur NiFi (utilisez ce lien pour l'interface utilisateur NiFi : 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.

HCL Commerce Version 9.1.11.0 or laterPour 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.

Ce modèle se compose du canal du connecteur personnalisé pour effectuer des opérations ETL (Extraction, Transformation, Chargement) depuis HCL Commerce vers un index Elasticsearch. Il possède les composants préalablement générés suivants :
  • 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.
Ce canal peut être réutilisé pour les trois flux de données pris en charge suivants :
  • 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.

HCL Commerce Version 9.1.11.0 or laterPour 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.

Ce modèle se compose du canal du connecteur personnalisé pour effectuer des opérations ETL (Extraction, Transformation, Chargement) depuis HCL Commerce vers un index Elasticsearch. Il possède les composants préalablement générés suivants :
  • 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.
Ce canal peut être réutilisé pour les trois flux de données pris en charge suivants :
  • Réindexation complète
  • Mise à jour en quasi-temps réel (NRT)
  • Chargement des données
Deprecated feature

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.

Le modèle Groovy fournit 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. L'extraction est effectuée via le processus Apache NIFI par défaut (ExecuteSQLRecord), puis les données sont transformées pour créer la partie du document (_doc) requise pour remplir l'index Elasticsearch. La transformation des données est effectuée via un processeur NiFi Apache en code (ScriptExecutor) qui permet d'avoir du code intégré dans le modèle.
Important: Lors de l'utilisation de ce modèle, une erreur s'affiche au moment du démarrage du serveur. Cette erreur disparaît après un instant, car NiFi récupère de cette erreur dans un délai de quelques minutes et reprend son fonctionnement. Cette erreur ne réapparaît pas avant le prochain redémarrage du conteneur NiFi.
Ce modèle se compose du canal du connecteur personnalisé pour effectuer des opérations ETL (Extraction, Transformation, Chargement) depuis HCL Commerce vers un index Elasticsearch. Il possède les composants préalablement générés suivants :
  • 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.
Ce canal peut être réutilisé pour les trois flux de données pris en charge suivants :
  • Réindexation complète
  • Mise à jour en quasi-temps réel (NRT)
  • Chargement des données