SlideShare a Scribd company logo
1 of 23
Download to read offline
1 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Apache NiFi MiNiFi C++ and the tale of
edgey stuff
Marc Parisi
phrocker@apache.org
@MrTheSegFault
2 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
BIO
marc(int*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-8], 0
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
pop rbp
ret
https://www.s.mrsegfault.com/jailbreak
3 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Agenda
⚫ IoT / Edge Breakdown
⚫ MiNIFI C++ deep dive
⚫ Use Cases
⚫ Demo if we're lucky
4 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
IoT Versus Edge
⚫ IoT
− Devices that share and collect data
⚫ Edge
− Data processing at edge of one’s network ( or the
internet ?)
⚫ One in the same?
5 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Explosion of Devices
6 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
IoT use cases
⚫ Connected car
⚫ Cell phone collection
⚫ Smart watches
⚫ Sensor readers
⚫ ...oh my
https://pixabay.com/en/network-iot-internet-of-things-782707/
7 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
From the device to the warehouse...
⚫ Devices → Warehouse/Regional
− Minimal grooming
− Apache NiFi regional and core
⚫ May not have compute capacity
− ‘Cause a toaster’s gonna toast, toast, toast, toast
[a]
8 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Edge use cases
⚫ Connected car
⚫ Cell phone collection
⚫ Smart watches
⚫ Sensor readers
⚫ ...OR
⚫ Custom devices
⚫ Robotics
⚫ …oh my?
https://pixabay.com/en/network-iot-internet-of-things-782707/
9 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Living on the Edge
⚫ Edge processing increases capacity
⚫ Edge devices can be ..
− Raspberry Pi
− Computer
− Smart Phone/Watch
10 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
IoT/Edge Constraints [1]
• Limited computing capability
• Limited power/network
• Restricted software library/platform availability
• Not frequently updated
• Competing standards/protocols
• Scalability
• Privacy & Security
11 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Apache NiFi MiNiFi C++
⚫ “...[C]omplimentary data collection approach
that supplements the core tenets of NiFi in
dataflow management, focusing on the
collection of data at the source of its creation”
⚫ Deliver data across a common platform of
extensions and components
⚫ NiFi empowers infrastructure
12 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
The NiFi Ecosystem
13 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Not just another NiFi
• Bi-Directional (Guaranteed) data transfer
• Data Provenance
• Resource Awareneness
• Small memory footprint
• Custom set of processors
• State Management/Command and Control
• Flow Updates
• Flow Metrics *No JVM
14 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Not just another NiFi
• Processors
• GetUSBCamera
• Tensorflow
• GetGPS
• Full list [4]
15 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Versace-ability
⚫ Agent/Library
⚫ Data collector/Sender
⚫ Edge/Analytic Processor
16 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Resource Awareness
• Battery Aware resource manager [3]
• Monitor consumption
• Adjust as needed
• Network manager (coming soon...)
17 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Command and Control
⚫ Command and control design [6,7]
⚫ Command line controller [8]
⚫ Update flow dynamically
⚫ Start/Stop components
⚫ Clear Queues/Repos
⚫ No UI
⚫ Remote/Local Admin
18 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
IoT/Collector Use Cases
⚫ Connected car -- Data collector
19 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Connected Car
20 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Connected Car
• Simple collection
• Tail File or gather GPS information
• Minimal Processing
21 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Edge use case
• Robotic controller
• Not typical use case
• Ferdinand
• OpenCV detects red in image *
• ListenHTTP receives movement commands
• Computation determines motor speed
through GPIO
• Computation for servo control
22 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Edge use case
23 © Hortonworks Inc. 2011 – 2016. All Rights Reserved
Bibliography
[1] https://www.statista.com/statistics/471264/iot-number-of-connected-devices-
worldwide/
[2] https://www.slideshare.net/Hadoop_Summit/apache-nifi-crash-course
[3] https://www.youtube.com/watch?v=1TMArQS7w40
[4] https://github.com/apache/nifi-minifi-cpp/blob/master/PROCESSORS.md
[5] https://blog.sasken.com/the-connected-car/
[6] https://cwiki.apache.org/confluence/display/MINIFI/MiNiFi+Command+and+Control
[7] https://cwiki.apache.org/confluence/display/MINIFI/C2+Design+Proposal
[8] https://github.com/apache/nifi-minifi-cpp/#managing-minfi-c-through-the-minifi-
controller
[9] https://youtu.be/a9EoCRYu39o
[a] https://www.youtube.com/watch?v=nfWlot6h_JM

More Related Content

Similar to Apache NiFi MiNiFi C++ and the tale of edgey stuff

Intelligently Collecting Data at the Edge – Intro to Apache MiNiFi
Intelligently Collecting Data at the Edge – Intro to Apache MiNiFiIntelligently Collecting Data at the Edge – Intro to Apache MiNiFi
Intelligently Collecting Data at the Edge – Intro to Apache MiNiFi
DataWorks Summit
 
The First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFiThe First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFi
DataWorks Summit
 
Using Spark Streaming and NiFi for the Next Generation of ETL in the Enterprise
Using Spark Streaming and NiFi for the Next Generation of ETL in the EnterpriseUsing Spark Streaming and NiFi for the Next Generation of ETL in the Enterprise
Using Spark Streaming and NiFi for the Next Generation of ETL in the Enterprise
DataWorks Summit
 

Similar to Apache NiFi MiNiFi C++ and the tale of edgey stuff (20)

Building a Smarter Home with Apache NiFi and Spark
Building a Smarter Home with Apache NiFi and SparkBuilding a Smarter Home with Apache NiFi and Spark
Building a Smarter Home with Apache NiFi and Spark
 
Apache NiFi + Tensorflow + Hadoop: Big Data AI サンドイッチの作り方
Apache NiFi + Tensorflow + Hadoop:Big Data AI サンドイッチの作り方Apache NiFi + Tensorflow + Hadoop:Big Data AI サンドイッチの作り方
Apache NiFi + Tensorflow + Hadoop: Big Data AI サンドイッチの作り方
 
Building a modern end-to-end open source Big Data reference application
Building a modern end-to-end open source Big Data reference applicationBuilding a modern end-to-end open source Big Data reference application
Building a modern end-to-end open source Big Data reference application
 
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, PythonOpen Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
Open Computer Vision with OpenCV, Apache NiFi, TensorFlow, Python
 
[Hortonworks] Future Of Data: Madrid - HDF & Data in motion
[Hortonworks] Future Of Data: Madrid - HDF & Data in motion[Hortonworks] Future Of Data: Madrid - HDF & Data in motion
[Hortonworks] Future Of Data: Madrid - HDF & Data in motion
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
 
Data at Scales and the Values of Starting Small with Apache NiFi & MiNiFi
Data at Scales and the Values of Starting Small with Apache NiFi & MiNiFiData at Scales and the Values of Starting Small with Apache NiFi & MiNiFi
Data at Scales and the Values of Starting Small with Apache NiFi & MiNiFi
 
Intelligently Collecting Data at the Edge – Intro to Apache MiNiFi
Intelligently Collecting Data at the Edge – Intro to Apache MiNiFiIntelligently Collecting Data at the Edge – Intro to Apache MiNiFi
Intelligently Collecting Data at the Edge – Intro to Apache MiNiFi
 
Introduction to Apache NiFi - Seattle Scalability Meetup
Introduction to Apache NiFi - Seattle Scalability MeetupIntroduction to Apache NiFi - Seattle Scalability Meetup
Introduction to Apache NiFi - Seattle Scalability Meetup
 
IoT Edge Processing with Apache NiFi and MiniFi and Apache MXNet for IoT NY 2018
IoT Edge Processing with Apache NiFi and MiniFi and Apache MXNet for IoT NY 2018IoT Edge Processing with Apache NiFi and MiniFi and Apache MXNet for IoT NY 2018
IoT Edge Processing with Apache NiFi and MiniFi and Apache MXNet for IoT NY 2018
 
Enterprise IIoT Edge Processing with Apache NiFi
Enterprise IIoT Edge Processing with Apache NiFiEnterprise IIoT Edge Processing with Apache NiFi
Enterprise IIoT Edge Processing with Apache NiFi
 
Apache NiFi Crash Course - San Jose Hadoop Summit
Apache NiFi Crash Course - San Jose Hadoop SummitApache NiFi Crash Course - San Jose Hadoop Summit
Apache NiFi Crash Course - San Jose Hadoop Summit
 
The Avant-garde of Apache NiFi
The Avant-garde of Apache NiFiThe Avant-garde of Apache NiFi
The Avant-garde of Apache NiFi
 
The Avant-garde of Apache NiFi
The Avant-garde of Apache NiFiThe Avant-garde of Apache NiFi
The Avant-garde of Apache NiFi
 
Unlocking insights in streaming data
Unlocking insights in streaming dataUnlocking insights in streaming data
Unlocking insights in streaming data
 
HDF Powered by Apache NiFi Introduction
HDF Powered by Apache NiFi IntroductionHDF Powered by Apache NiFi Introduction
HDF Powered by Apache NiFi Introduction
 
The First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFiThe First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile – Edge and IoT Data Collection with Apache NiFi and MiNiFi
 
Make Streaming IoT Analytics Work for You
Make Streaming IoT Analytics Work for YouMake Streaming IoT Analytics Work for You
Make Streaming IoT Analytics Work for You
 
Big Data Day LA 2016/ Big Data Track - Building scalable enterprise data flow...
Big Data Day LA 2016/ Big Data Track - Building scalable enterprise data flow...Big Data Day LA 2016/ Big Data Track - Building scalable enterprise data flow...
Big Data Day LA 2016/ Big Data Track - Building scalable enterprise data flow...
 
Using Spark Streaming and NiFi for the Next Generation of ETL in the Enterprise
Using Spark Streaming and NiFi for the Next Generation of ETL in the EnterpriseUsing Spark Streaming and NiFi for the Next Generation of ETL in the Enterprise
Using Spark Streaming and NiFi for the Next Generation of ETL in the Enterprise
 

Recently uploaded

Paint shop management system project report.pdf
Paint shop management system project report.pdfPaint shop management system project report.pdf
Paint shop management system project report.pdf
Kamal Acharya
 
Teachers record management system project report..pdf
Teachers record management system project report..pdfTeachers record management system project report..pdf
Teachers record management system project report..pdf
Kamal Acharya
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Lovely Professional University
 

Recently uploaded (20)

BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
 
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
 
Object Oriented Programming OOP Lab Manual.docx
Object Oriented Programming OOP Lab Manual.docxObject Oriented Programming OOP Lab Manual.docx
Object Oriented Programming OOP Lab Manual.docx
 
E-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are presentE-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are present
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdf
 
Paint shop management system project report.pdf
Paint shop management system project report.pdfPaint shop management system project report.pdf
Paint shop management system project report.pdf
 
How to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdfHow to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdf
 
Teachers record management system project report..pdf
Teachers record management system project report..pdfTeachers record management system project report..pdf
Teachers record management system project report..pdf
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
 
Lect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptxLect_Z_Transform_Main_digital_image_processing.pptx
Lect_Z_Transform_Main_digital_image_processing.pptx
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdf
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
 
Multivibrator and its types defination and usges.pptx
Multivibrator and its types defination and usges.pptxMultivibrator and its types defination and usges.pptx
Multivibrator and its types defination and usges.pptx
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdf
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
 
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdfBURGER ORDERING SYSYTEM PROJECT REPORT..pdf
BURGER ORDERING SYSYTEM PROJECT REPORT..pdf
 
ANSI(ST)-III_Manufacturing-I_05052020.pdf
ANSI(ST)-III_Manufacturing-I_05052020.pdfANSI(ST)-III_Manufacturing-I_05052020.pdf
ANSI(ST)-III_Manufacturing-I_05052020.pdf
 
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfRESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
 

Apache NiFi MiNiFi C++ and the tale of edgey stuff

  • 1. 1 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Apache NiFi MiNiFi C++ and the tale of edgey stuff Marc Parisi phrocker@apache.org @MrTheSegFault
  • 2. 2 © Hortonworks Inc. 2011 – 2016. All Rights Reserved BIO marc(int*): push rbp mov rbp, rsp mov QWORD PTR [rbp-8], rdi mov QWORD PTR [rbp-8], 0 mov rax, QWORD PTR [rbp-8] mov eax, DWORD PTR [rax] pop rbp ret https://www.s.mrsegfault.com/jailbreak
  • 3. 3 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Agenda ⚫ IoT / Edge Breakdown ⚫ MiNIFI C++ deep dive ⚫ Use Cases ⚫ Demo if we're lucky
  • 4. 4 © Hortonworks Inc. 2011 – 2016. All Rights Reserved IoT Versus Edge ⚫ IoT − Devices that share and collect data ⚫ Edge − Data processing at edge of one’s network ( or the internet ?) ⚫ One in the same?
  • 5. 5 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Explosion of Devices
  • 6. 6 © Hortonworks Inc. 2011 – 2016. All Rights Reserved IoT use cases ⚫ Connected car ⚫ Cell phone collection ⚫ Smart watches ⚫ Sensor readers ⚫ ...oh my https://pixabay.com/en/network-iot-internet-of-things-782707/
  • 7. 7 © Hortonworks Inc. 2011 – 2016. All Rights Reserved From the device to the warehouse... ⚫ Devices → Warehouse/Regional − Minimal grooming − Apache NiFi regional and core ⚫ May not have compute capacity − ‘Cause a toaster’s gonna toast, toast, toast, toast [a]
  • 8. 8 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Edge use cases ⚫ Connected car ⚫ Cell phone collection ⚫ Smart watches ⚫ Sensor readers ⚫ ...OR ⚫ Custom devices ⚫ Robotics ⚫ …oh my? https://pixabay.com/en/network-iot-internet-of-things-782707/
  • 9. 9 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Living on the Edge ⚫ Edge processing increases capacity ⚫ Edge devices can be .. − Raspberry Pi − Computer − Smart Phone/Watch
  • 10. 10 © Hortonworks Inc. 2011 – 2016. All Rights Reserved IoT/Edge Constraints [1] • Limited computing capability • Limited power/network • Restricted software library/platform availability • Not frequently updated • Competing standards/protocols • Scalability • Privacy & Security
  • 11. 11 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Apache NiFi MiNiFi C++ ⚫ “...[C]omplimentary data collection approach that supplements the core tenets of NiFi in dataflow management, focusing on the collection of data at the source of its creation” ⚫ Deliver data across a common platform of extensions and components ⚫ NiFi empowers infrastructure
  • 12. 12 © Hortonworks Inc. 2011 – 2016. All Rights Reserved The NiFi Ecosystem
  • 13. 13 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Not just another NiFi • Bi-Directional (Guaranteed) data transfer • Data Provenance • Resource Awareneness • Small memory footprint • Custom set of processors • State Management/Command and Control • Flow Updates • Flow Metrics *No JVM
  • 14. 14 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Not just another NiFi • Processors • GetUSBCamera • Tensorflow • GetGPS • Full list [4]
  • 15. 15 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Versace-ability ⚫ Agent/Library ⚫ Data collector/Sender ⚫ Edge/Analytic Processor
  • 16. 16 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Resource Awareness • Battery Aware resource manager [3] • Monitor consumption • Adjust as needed • Network manager (coming soon...)
  • 17. 17 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Command and Control ⚫ Command and control design [6,7] ⚫ Command line controller [8] ⚫ Update flow dynamically ⚫ Start/Stop components ⚫ Clear Queues/Repos ⚫ No UI ⚫ Remote/Local Admin
  • 18. 18 © Hortonworks Inc. 2011 – 2016. All Rights Reserved IoT/Collector Use Cases ⚫ Connected car -- Data collector
  • 19. 19 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Connected Car
  • 20. 20 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Connected Car • Simple collection • Tail File or gather GPS information • Minimal Processing
  • 21. 21 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Edge use case • Robotic controller • Not typical use case • Ferdinand • OpenCV detects red in image * • ListenHTTP receives movement commands • Computation determines motor speed through GPIO • Computation for servo control
  • 22. 22 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Edge use case
  • 23. 23 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Bibliography [1] https://www.statista.com/statistics/471264/iot-number-of-connected-devices- worldwide/ [2] https://www.slideshare.net/Hadoop_Summit/apache-nifi-crash-course [3] https://www.youtube.com/watch?v=1TMArQS7w40 [4] https://github.com/apache/nifi-minifi-cpp/blob/master/PROCESSORS.md [5] https://blog.sasken.com/the-connected-car/ [6] https://cwiki.apache.org/confluence/display/MINIFI/MiNiFi+Command+and+Control [7] https://cwiki.apache.org/confluence/display/MINIFI/C2+Design+Proposal [8] https://github.com/apache/nifi-minifi-cpp/#managing-minfi-c-through-the-minifi- controller [9] https://youtu.be/a9EoCRYu39o [a] https://www.youtube.com/watch?v=nfWlot6h_JM