More Related Content
Similar to Apache NiFi Meetup - Princeton NJ 2016 (20)
More from Timothy Spann (20)
Apache NiFi Meetup - Princeton NJ 2016
- 2. 2 © Hortonworks Inc. 2011 –2016. All Rights Reserved
Agenda
• 6:00pm – 6:45pm Registration and Food
• 6:45pm – 7:00pm Introduction and Welcome
• 7:00pm – 8:00pm Introduction to Apache NiFi by Tim Spann
• What is NiFi?
• Demo
• Hands-On
• 8:00pm – 8:45pm Creating a Custom Apache NiFi Processor
by Milind Pandit
• 8:45pm – 9:00pm Wrap-up, Upcoming Kafka Talk
- 11. 11 © Hortonworks Inc. 2011 –2016. All Rights Reserved
NiFi - Terminology
à FlowFile
• Unit of data moving through the system
• Content + Attributes (key/value pairs)
à Processor
• Performs the work, can access FlowFiles
à Connection
• Links between processors
• Queues that can be dynamically prioritized
à Process Group
• Set of processors and their connections
• Receive data via input ports, send data via output ports
- 12. 12 © Hortonworks Inc. 2011 –2016. All Rights Reserved
NiFi - User Interface
• Drag and drop processors to build a flow
• Start, stop, and configure components in real time
• View errors and corresponding error messages
• View statistics and health of data flow
• Create templates of common processor & connections
- 13. 13 © Hortonworks Inc. 2011 –2016. All Rights Reserved
NiFi - Provenance
• Tracks data at each point as it flows
through the system
• Records, indexes, and makes events
available for display
• Handles fan-in/fan-out, i.e. merging
and splitting data
• View attributes and content at given
points in time
- 14. 14 © Hortonworks Inc. 2011 –2016. All Rights Reserved
NiFi - Queue Prioritization
• Configure a prioritizer per
connection
• Determine what is important for
your data – time based, arrival
order, importance of a data set
• Funnel many connections down to
a single connection to prioritize
across data sets
• Develop your own prioritizer if
needed
- 15. 15 © Hortonworks Inc. 2011 –2016. All Rights Reserved
NiFi - Extensibility
à Built from the ground up with extensions in mind
à Service-loader pattern for…
• Processors
• Controller Services
• Reporting Tasks
• Prioritizers
à Extensions packaged as NiFi Archives (NARs)
• Deploy NiFi lib directory and restart
• Provides ClassLoader isolation
• Same model as standard components
- 16. 16 © Hortonworks Inc. 2011 –2016. All Rights Reserved
NiFi - Architecture
OS/Host
JVM
Flow Controller
Web Server
Processor 1 Extension N
FlowFile
Repository
Content
Repository
Provenance
Repository
Local Storage
OS/Host
JVM
Flow Controller
Web Server
Processor 1 Extension N
FlowFile
Repository
Content
Repository
Provenance
Repository
Local Storage
OS/Host
JVM
NiFi Cluster Manager – Request Replicator
Web Server
Master
NiFi Cluster
Manager (NCM)
OS/Host
JVM
Flow Controller
Web Server
Processor 1 Extension N
FlowFile
Repository
Content
Repository
Provenance
Repository
Local Storage
Slaves
NiFi Nodes