HOME

TheInfoList



OR:

Apache NiFi is a software project from the
Apache Software Foundation The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
designed to automate the flow of data between
software system A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It "consists of a number of separate programs, configuration files, which are used to se ...
s. 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. 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 Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be th ...
(users can write their own software to extend its abilities) and improved
usability Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a soft ...
features like a portal which can be used to view and modify behaviour visually.
Software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invol ...
and commercial support is currently offered by Hortonworks (now merged into Cloudera), who acquired NiFi's originator, Onyara Inc.


Components

NiFi is a Java program that runs within a
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes ...
running on a server. 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 Provenance (from the French ''provenir'', 'to come from/forth') is the chronology of the ownership, custody or location of a historical object. The term was originally mostly used in relation to works of art but is now used in similar senses i ...
of the data flowing through the system is maintained here.


Integration into commercial software

* In February 2017, HPE's ''SecureData for Hadoop and
IoT The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other com ...
'' software became Industry's first commercial product to integrate NiFi


See also

* Hortonworks DataFlow * List of Apache Software Foundation projects * Flow Based Programming * Node-RED


References


External links

* National Security Agency Apache Software Foundation projects Java platform software {{software-stub