Apache NiFi - Présentation

Apache NiFi est un système puissant, facile à utiliser et fiable pour traiter et distribuer des données entre des systèmes disparates. Il est basé sur la technologie Niagara Files développée par la NSA puis, après 8 ans, donné à la fondation Apache Software. Il est distribué sous licence Apache version 2.0, janvier 2004. La dernière version pour Apache NiFi est 1.7.1.

Apache NiFi est une plate-forme d'ingestion de données en temps réel, qui peut transférer et gérer le transfert de données entre différentes sources et systèmes de destination. Il prend en charge une grande variété de formats de données tels que les journaux, les données de géolocalisation, les flux sociaux, etc. Il prend également en charge de nombreux protocoles tels que SFTP, HDFS et KAFKA, etc. de nombreuses organisations informatiques.

Apache NiFi - Caractéristiques générales

Les caractéristiques générales d'Apache NiFi sont les suivantes -

  • Apache NiFi fournit une interface utilisateur Web, qui offre une expérience transparente entre la conception, le contrôle, les commentaires et la surveillance.

  • Il est hautement configurable. Cela aide les utilisateurs avec une livraison garantie, une faible latence, un débit élevé, une priorisation dynamique, une contre-pression et modifie les flux lors de l'exécution.

  • Il fournit également un module de provenance des données pour suivre et surveiller les données du début à la fin du flux.

  • Les développeurs peuvent créer leurs propres processeurs personnalisés et tâches de reporting en fonction de leurs besoins.

  • NiFi prend également en charge des protocoles sécurisés tels que SSL, HTTPS, SSH et d'autres cryptages.

  • Il prend également en charge la gestion des utilisateurs et des rôles et peut également être configuré avec LDAP pour l'autorisation.

Apache NiFi - Concepts clés

Les concepts clés d'Apache NiFi sont les suivants -

  • Process Group - C'est un groupe de flux NiFi, qui aide un utilisateur à gérer et à maintenir les flux de manière hiérarchique.

  • Flow - Il est créé en connectant différents processeurs pour transférer et modifier les données si nécessaire d'une ou plusieurs sources de données vers une autre source de données de destination.

  • Processor- Un processeur est un module Java chargé de récupérer les données du système d'approvisionnement ou de les stocker dans le système de destination. D'autres processeurs sont également utilisés pour ajouter des attributs ou modifier le contenu dans flowfile.

  • Flowfile- C'est l'utilisation de base de NiFi, qui représente le seul objet des données extraites du système source en NiFi. NiFiprocessormit des modifications au fichier de flux pendant qu'il se déplace du processeur source vers la destination. Différents événements tels que CREATE, CLONE, RECEIVE, etc. sont exécutés sur le fichier de flux par différents processeurs dans un flux.

  • Event- Les événements représentent la modification du fichier de flux lors de la traversée d'un flux NiFi. Ces événements sont suivis dans la provenance des données.

  • Data provenance - Il s'agit d'un référentiel.Il dispose également d'une interface utilisateur, qui permet aux utilisateurs de vérifier les informations sur un fichier de flux et aide à résoudre les problèmes qui surviennent lors du traitement d'un fichier de flux.

Avantages d'Apache NiFi

  • Apache NiFi permet la récupération de données à partir de machines distantes en utilisant SFTP et garantit le lignage des données.

  • Apache NiFi prend en charge le clustering, de sorte qu'il peut fonctionner sur plusieurs nœuds avec le même flux traitant différentes données, ce qui augmente les performances du traitement des données.

  • Il fournit également des politiques de sécurité au niveau de l'utilisateur, au niveau du groupe de processus et d'autres modules.

  • Son interface utilisateur peut également fonctionner sur HTTPS, ce qui sécurise l'interaction des utilisateurs avec NiFi.

  • NiFi prend en charge environ 188 processeurs et un utilisateur peut également créer des plugins personnalisés pour prendre en charge une grande variété de systèmes de données.

Inconvénients d'Apache NiFi

  • Lorsque le nœud est déconnecté du cluster NiFi alors qu'un utilisateur y apporte des modifications, le flow.xml devient invalide.Anode ne peut pas se reconnecter au cluster à moins que l'administrateur ne copie manuellement flow.xml à partir du nœud connecté.

  • Apache NiFi a un problème de persistance de l'état en cas de changement de nœud principal, ce qui rend parfois les processeurs incapables de récupérer les données des systèmes d'approvisionnement.