
Introduction to this course.
Basic understanding on Apache Nif Project
Why Apache Nifi?
Compare with Other ETLs.
Features which differentiates Apache Nifi from other ETLs
Understand what is Dataflow
Overview on Apache Nifi UI and its features
Dataflow and challenges
Apache Nifi key features
Nifi role in Push and Pull architecture
Install Apache Nifi in Windows
Start Apache Nifi
Open Apache Nifi UI in browser
Get to know about various terminologies like
FlowFile
FlowFile Processor
Connection
Flow Controller
Process Group
Create a simple workflow
Play with Flowfile generator
Understand various section of the UI like
component Toolbar
Global Menu
Search
Status Bar
Navigate Palette
Operate Pallette
Create a simple Flow
Introduction to GetFile and PutFile Processor
Processor Configuration
Connection Configuration
Relationship Termination
Understand various Category types like
Data Ingestion
Routing and Mediation
Database Access
Attribute Extraction
System Interaction
Data Transformation
Sending Data
HTTP Access
AWS Cloud Access
Understand various configuration option as part of connections like
Flowfile Expiration
Back Pressure
Object Threshold
Size Threshold
Prioritization
Various options in connection context menu
Queue monitoring
Using Queue Empty Options
Various general configuration as part of Processor Settings tab
Penalty Duration
Yield Duration
Bulletin Level
Relationship Termination
Various options in Processor Scheduling Tab option
Different Scheduling Strategy
Relationship between latency and throughput
Concurrent task configuration
Run Schedule configuration
Execution mode
Managing property of various processors
Customizing mandatory and non mandatory properties
Error handling on missing properties
Changing the payload attributes
Taking decision based on flowfile attribute
Logging the attributes in log file
Monitoring log attributes
Customizing log file configuration
Logging attributes in separate log file
Failure handling by processor
Retry failed Flowfile
Monitoring failure queue
Check failure message from bulletin
Purpose and use of Templates
Creating Templates
Managing Templates
Uploading Templates
Template file structure
Handling sensitive information in Templates
Understand Apache Kafka
Install Kafka
Create Topic
Publish Message to Topic
Read Message from Topic
Create message with Flowfile
Post message to Kafka Topic
Read message using Kafka console consumer
Post message using Kafka Producer
Read message from Topic using Apache Nifi
Convert message to Flowfile
Purpose of process group
Input and Output Ports
Create and Use Process groups
Create Funnel
Understand forking concepts and its use
Fork flow file to multiple processor
Understand Combine or Fan-in concept and its use
Combine flowfiles from multiple processors
Monitor various statistical information about
Processors
Input Ports
Output Ports
Remote Process Group
Connections
Process Groups
Observing overall Bulletin
Data Provenance
Nifi history
Purpose and Usage of Data Provenance
Provenance data lineage
Detail event analysis
View/Download input and output claim
Replay / Retry events
Observe failed queues
Observe modified attributes as part of event
Connect and Read data from MySQL database
Use of Avro and JSON
Using Connection Pool Controller
Using AvroSchemaRegistry
Using CSV Reader
Using JSONRecordWriter
Using Custom Schema of CSV
Monitor updated attribute using data provenance
Purpose of state management
Reading only Delta records from RDBMS table
Using maximum-value Column property to manage state
Creating sample data from mackaroo
Using dynamic schema
Purpose and realtime use of dynamic schema
Nifi - Registry Introduction
Purpose of Nifi Registry
Installing Nifi Registry
Staring Nifi Registry service
Creating and managing buckets
Connecting Nifi Registry with flow file
Adding a flowfile to a bucket
Maintain Version of flowfile
Committing and changing version of flowfile
Check version history of flowfile
Rollback changes
Install 3 node cluster
Understand Primary Node, Cluster Coordinator role and responsibility
Using Zookeeper Quorum and configuration
Configuration change of nifi.properties and state-management.xml
Update Zookeeper connection string
Starting nodes and cluster
Verification of primary node election
Cluster overview on Nodes, Systems, JVM, Storage and Versions
Create sample flow file
Monitor status history
Execution of processor in Primary node and in All nodes
Apache Nifi is next generation framework to create data pipeline and integrate with almost all popular systems in the enterprise. It has more than 250 processors and more than 70 controllers.
This course covers all all basic to advanced concepts available in Apache Nifi like
Flowfile
Controllers
Processors
Connections
Process Group
Funnel
Data Provenance
Processor relationships
Input and Output Ports
This course also covers on the Apache Nifi Subprojects like
Nifi Registry
As part of production maintenance, user may have to take cautious decision to improve the performance and handle the errors efficiently. To facilitate the same, Demo also covers on
Handling Throughput and Latency
Handling Back Pressure and Yield
Error handling
Failure Retry
Monitoring Bulletin
Data Provenance
To have seamless experience with data, handling of data latency and throughput and prioritizing the data is important. Its controlled with relationship, yield and back pressure.
Various processors and controllers to process various type of data is demonstrated.
Processors which are used in production scenarios like HTTP, RDBMS, NoSQL S3, CSV, JSON, Hive, etc., are covered in detail along with controllers like SSL, ConnectionPool, etc., with demo.
All these concepts are covered with demo and real time implementation is provided.
For easy practical purpose, all the demonstrated flowfile template is uploaded as part of the course.
Demo on creating and using KeyStore, Trust Store for SSL communication.
Using Maven and Eclipse EE for custom processor and deploying nar file to Nifi libraries.