Apache NiFi

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Apache NiFi
DeveloperApache Software Foundation
Initial release2006; 20 years ago (2006)
Stable release
2.0.0 / 4 November 2024; 21 months ago (2024-11-04)[1]
Repositorygithub.com/apache/nifi
Written inJava
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypeDistributed dataflow
    LicenseApache License 2.0
    Websitenifi.apache.org

    Apache NiFi is a software project from the Apache Software Foundation designed to automate the flow of data between software systems. Leveraging the concept of extract, transform, load (ETL), it is based on the "NiagaraFiles" software previously developed by the US National Security Agency (NSA), which is also the source of a part of its present name – NiFi. It was open-sourced as a part of NSA's technology transfer program in 2014.[2][3][4][5][6]

    The software design is based on the flow-based programming model and offers features which prominently include the ability to operate within clusters, security using TLS encryption, extensibility (users can write their own software to extend its abilities) and improved usability features like a portal which can be used to view and modify behaviour visually.[7]

    Components

    [edit | edit source]
    NiFi - software components

    NiFi is a Java program that runs within a Java virtual machine running on a server.[8] The prominent components of Nifi are:

    • Web Server - the HTTP-based component used to visually control the software and monitor the events happening within
    • Flow Controller - serves as the brains of NiFi's behaviour. Controls the running of Nifi extensions and schedules allocation of resources for this to happen.
    • Extensions - various plugins that allow Nifi to interact with various kinds of systems
    • FlowFile repository - used by NiFi to maintain and track status of the currently active FlowFile Or the information that NiFi is helping move between systems.
    • Content repository - the data in transit is maintained here
    • Provenance repository - data relating to the provenance of the data flowing through the system is maintained here.

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]