HOME

TheInfoList



OR:

Apache NiFi is a
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
project from the Apache Software Foundation designed to
automate Automation describes a wide range of technologies that reduce human intervention in processes, namely by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines ...
the flow of
data In the pursuit of knowledge, data (; ) is a collection of discrete Value_(semiotics), values that convey information, describing quantity, qualitative property, quality, fact, statistics, other basic units of meaning, or simply sequences of sy ...
between software systems. Leveraging the concept of
extract, transform, load In computing, extract, transform, load (ETL) is a three-phase process where data is extracted, transformed (cleaned, sanitized, scrubbed) and loaded into an output data container. The data can be collated from one or more sources and it can also ...
(ETL), it is based on the "''NiagaraFiles''" software previously developed by the US
National Security Agency The National Security Agency (NSA) is a national-level intelligence agency of the United States Department of Defense, under the authority of the Director of National Intelligence (DNI). The NSA is responsible for global monitoring, collect ...
(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 In computer programming, flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are speci ...
model and offers features which prominently include the ability to operate within
cluster may refer to: Science and technology Astronomy * Cluster (spacecraft), constellation of four European Space Agency spacecraft * Asteroid cluster, a small asteroid family * Cluster II (spacecraft), a European Space Agency mission to study t ...
s, 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. Software development and commercial support is currently offered by
Hortonworks Hortonworks was a data software company based in Santa Clara, California that developed and supported open-source software (primarily around Apache Hadoop) designed to manage big data and associated processing. Hortonworks software was used to b ...
(now merged into
Cloudera Cloudera, Inc. is an American software company providing enterprise data management systems that make significant use of Apache Hadoop. As of January 31, 2021, the company had approximately 1,800 customers. History Cloudera, Inc. was formed on J ...
), who acquired NiFi's originator, Onyara Inc.


Components

NiFi is a
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
program that runs within a Java virtual machine running on a server. The prominent components of Nifi are: * Web Server - the
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
-based component used to visually control the software and monitor the events happening within * Flow Controller - serves as the
brain A brain is an organ that serves as the center of the nervous system in all vertebrate and most invertebrate animals. It is located in the head, usually close to the sensory organs for senses such as vision. It is the most complex organ in a ve ...
s 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.


Integration into commercial software

* In February 2017, HPE's ''SecureData for
Hadoop Apache Hadoop () is a collection of open-source software utilities that facilitates using a network of many computers to solve problems involving massive amounts of data and computation. It provides a software framework for distributed storage an ...
and IoT'' software became Industry's first commercial product to integrate NiFi


See also

*
Hortonworks DataFlow Hortonworks was a data software company based in Santa Clara, California that developed and supported open-source software (primarily around Apache Hadoop) designed to manage big data and associated processing. Hortonworks software was used to ...
*
List of Apache Software Foundation projects This list of Apache Software Foundation projects contains the software development projects of the Apache Software Foundation (ASF). Besides the projects, there are a few other distinct areas of Apache: *Incubator: for aspiring ASF projects *Attic ...
* Flow Based Programming *
Node-RED Node-RED is a flow-based development tool for visual programming developed originally by IBM for wiring together hardware devices, APIs and online services as part of the Internet of Things. Node-RED provides a web browser-based flow editor, ...


References


External links

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