NIFI USER GUIDE
Agenda
• NiFi Overview
• NiFi Architecture
• NiFi User Guide
• Pipeline Builder Status
NiFi Overview
• What is NiFi?
• What can NiFi do?
• Who uses NiFi?
• When do we need NiFi?
What is Apache NiFi
• Apache NiFi is a dataflow system based on the concepts of flow-
based programming
Dataflow Management
Real World Dataflow
What Can NiFi do?
What Uses NiFi?
When do we need NiFi?
• Utilize dataflow management system to solve complicated data
acquisition, ingest, transform, routing process global enterprise level
data flow.
NiFi Terms
1. Real time Command and
Control
2. Processors – Workers
3. Connections -buffers
4. FLOWFILES – Data Packets
Attribute
Type
SourceSite
Feed
CONTENT
Payload, Data, (bytes -> GBs)
5. Expression Language
Operate FlowFiles by Attributes
NiFi Terms
NiFi Term FBP Term Describe
FlowFile Information Packet
unit of flow data with attributes and
content
Processor Black Box transformation, route, invoke
Connection Bounded Buffer linkage of processors with queue
Flow Controller Scheduler broker for processors and connections
Process Group Subnet set of processors and connections
NiFi Architecture
ATTRIBUTE For Lineage/Routing
Type
incremental
SourceSite
MSSQL
Feed
Data_Feed
CONTENT For Data
the data
Figure 1: Visual Representation of a Flow File
CONNECTION
PROCESSOR
FLOWFILE
PROCESSOR
NiFi Architecture
NiFi Data Flow
Processors
Workers
Threads
Routers
Connections
Data Buffers
Back Pressure
Prioritization
FlowFile
Attribute
Content
1. Data Flow Design Tips
Processor utilization
Usage and tests
Routing strategy
Route on attributes & content
NiFi Expression Language
Dynamically operate FlowFiles
Data Provenance
Debug and verify

NiFi Features
Data
Provenance
NiFi User Guide
• What is NiFi?
• What can NiFi do?
• Who uses NiFi?
• When do we need NiFi?
• ‘How to use it’
NiFi User Guide
• ‘How to use it’:
• How to operate?
• How to debug?
• How to design?
• What’s more?
• What are learning steps?
How To Operate
How To Operate
• Tips: Know what processor fits your requirement
How To Operate
How To Operate - Example
How To Operate - Example
How To Operate - Example
How To Operate - Example
NiFi Preliminary Knowledge
• Controller Service : configure connection service
• Expression language : most important skill in NiFi data flow design
• Templates : deploy data flow templates to other NiFi instance
Existing Processor
Some Examples
GetFile
GetHDFS
PutHBaseCell
PutHBaseJSON
PutHDFS
PutHDFS
ExecuteScript
ExecuteSQL
ExecuteStreamCommand
InvokeHTTP
InvokeScriptedProcessor
ConvertAvroToJSON
ConvertCSVToAvro
ConvertJSONToAvro
ConvertJSONToSQL
RouteOnAttribute
RouteOnContent
RouteText
How To Debug
• Bulletin indicator
• NiFi log: $NIFI_HOME/nifi-logs/nifi-api.log
How To Test
• GenerateFlowFiles + UpdateAttributes + ReplaceText
• Generate data flow. Add tags Add content
NiFi Data Flow Design Tips
• 1) Processor Utilization

Usage and architect
• 2) Routing Strategy

Route on attributes or content
• 3) NiFi Expression Language

Dynamically operate FlowFiles
• 4) Auto Testing Template

Debug and verify
What’s More?
• Survey many template to understand data flow design
• Hortonworks : A Collection of NiFi Examples

https://community.hortonworks.com/articles/961/a-collection-of-nifi-
examples.html
• NiFi Confluence Wiki: Example Data Flow Templates

https://cwiki.apache.org/confluence/display/NIFI/
Example+Dataflow+Templates
• Awesome NiFi

https://github.com/jfrazee/awesome-nifi
NiFi learning steps
• 1) Meet NiFi

SlideShare-NiFi introduction —> NiFi-Overview
• 2) Operate NiFi

NiFi-Getting Started —> NiFi-User Guide —> Debug
• 3) Data Flow design in NiFi

NiFi-Expression language —> NiFi Templates Examples
• 4) NiFi In Depth

NiFi-Developer Guide —> NiFi Admin Guide —> Contribute

Apache NiFi User Guide