Integration / Apache NiFi Interview Questions
What is a FlowFile in Apache NiFi?
A FlowFile is the fundamental unit of data in Apache NiFi. Every piece of data moving through a flow is represented as a FlowFile with two distinct parts.
Attributes: A map of key-value string pairs acting as metadata. Every FlowFile has core attributes automatically assigned — uuid (globally unique identifier), filename, path, and entryDate. Processors can add, modify, or remove attributes. Attributes are lightweight and kept in memory.
Content: The actual payload bytes. Content is stored in the NiFi content repository on disk, not in heap memory, allowing NiFi to handle FlowFiles of arbitrary size — gigabytes or more — without memory exhaustion. Content is immutable by design: when a processor modifies content, it writes a new version rather than overwriting the original. This immutability underpins the data provenance model.
The separation of attributes from content is architecturally significant. Many routing, filtering, and enrichment operations work purely on attributes without ever reading the payload. RouteOnAttribute, for example, routes FlowFiles entirely on attribute values without touching content.
More Related questions...