- Apache NiFi Tutorial
- Apache NiFi - Home
- Apache NiFi - Introduction
- Apache NiFi - Basic Concepts
- Apache NiFi - Environment Setup
- Apache NiFi - User Interface
- Apache NiFi - Processors
- Apache NiFi - Processors Categorization
- Apache NiFi - Processors Relationship
- Apache NiFi - FlowFile
- Apache NiFi - Queues
- Apache NiFi - Process Groups
- Apache NiFi - Labels
- Apache NiFi - Configuration
- Apache NiFi - Administration
- Apache NiFi - Creating Flows
- Apache NiFi - Templates
- Apache NiFi - API
- Apache NiFi - Data Provenance
- Apache NiFi - Monitoring
- Apache NiFi - Upgrade
- Apache NiFi - Remote Process Group
- Apache NiFi - Controller Settings
- Apache NiFi - Reporting Task
- Apache NiFi - Custom Processor
- Apache NiFi - Custom Controllers Service
- Apache NiFi - Logging
- Apache NiFi Useful Resources
- Apache NiFi - Quick Guide
- Apache NiFi - Useful Resources
- Apache NiFi - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Apache NiFi - Processors Relationship
In an Apache NiFi data flow, flowfiles move from one to another processor through connection that gets validated using a relationship between processors. Whenever a connection is created, a developer selects one or more relationships between those processors.
As you can see in the above image, the check boxes in black rectangle are relationships. If a developer selects these check boxes then, the flowfile will terminate in that particular processor, when the relationship is success or failure or both.
When a processor successfully processes a flowfile like store or fetch data from any datasource without getting any connection, authentication or any other error, then the flowfile goes to success relationship.
When a processor is not able to process a flowfile without errors like authentication error or connection problem, etc. then the flowfile goes to a failure relationship.
A developer can also transfer the flowfiles to other processors using connections. The developer can select and also load balance it, but load balancing is just released in version 1.8, which will not be covered in this tutorial.
As you can see in the above image the connection marked in red have failure relationship, which means all flowfiles with errors will go to the processor in left and respectively all the flowfiles without errors will be transferred to the connection marked in green.
Let us now proceed with the other relationships.
This relationship is met, when a Flowfile could not be fetched from the remote server due to a communications failure.
Any Flowfile for which we receive a ‘Not Found’ message from the remote server will move to not.found relationship.
When NiFi unable to fetch a flowfile from the remote server due to insufficient permission, it will move through this relationship.