Course Code: nifidevbspk
Duration: 7 hours
Prerequisites:
  • Experience with Linux command line.
  • Basic Java Programming Experience 
  • Experience with Apache Maven

Audience

  • Developers
  • Data Engineers
Overview:

Apache NiFi is a powerful, advanced and scalable application for data routing, transformation and integrating with disparate systems. It’s easy-to-use Web-Interface allows developers for building a complex dataflow which is reliable to process and distribute data.

In this instructor-led, live training (onsite or remote), participants will learn the fundamentals of how to develop dataflows and processors in NiFi.


By the end of this training, participants will be able to:

  • Understand NiFi concepts, architectures etc.
  • Understand on building dataflows
  • Development approaches of building custom NiFi processors


Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.
Course Outline:

Introduction to Apache NiFi 
• History and Capabilities
• NiFi User Interface
• NiFi Common Terminologies
     o Processors
     o FlowFile
     o Process Groups
     o Input/Output Ports
     o Controller Services
     o Templates
     o Funnels
     o Labels

• Digging into NiFi canvas
     o Bread Crumbs
     o Understanding processor utilisation from resource perspective
     o Processor Errors
     o Selecting multiple processors 

NiFi Operations (Using native processors)
• Moving Files from source filesystem to destination filesystem
• Processors to create web services and exposing from NiFi for data ingestion
• Ingesting data to HDFS (Hadoop File System)

Overview of NiFi Architecture

NiFi Extension Approaches
• Custom Processor from scratch
     o Processor Lifecycle, ProcessContext, ProcessSession etc
     o Developing ConcatText Processor
     o Reading & Writing flowfile content and attributes
     o Error Handling & Logging

• Custom Development using scripting processor
     o Basics of ExecuteScript Processor
     o Developing ConcatText with ExecuteScript Processor

Troubleshooting

Contributing to Apache NiFi

Summary and Conclusion