We have started using NiFi for a lot of our data pipeline jobs. One of things which is challenging in Nifi is to do regression testing of the changes to the flows.
What are the common ways to handle unit and functional testing of NiFi flows? Are there any frameworks?
For performance, you should be able to get a good idea of the performance by looking at the various statistics in NiFI, there are stats on each processor, process groups, and from the global menu Summary page, they all show things like FlowFiles in/out and bytes in/out.
Introduction. Apache NiFi is a dataflow system based on the concepts of flow-based programming. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic. NiFi has a web-based user interface for design, control, feedback, and monitoring of dataflows.
Here, NiFi handles the data at an impressive rate of 9.56 TB (42.4 billion messages) per 5 minutes, or 32.6 GB/sec (141.3 million events per second).
Apache NiFi for DataFlow and Real-Time Streaming with Apache KAFKA. Apache NiFi as Flow based Programming platform.
There is a lot that can be written on this topic, but I'll try to keep it focused and brief.
TestRunner
mock execution). Many mock classes and services are available to streamline these tests. Example: TestEncryptContent
StandardHttpResponseMapperSpec
ITestHandleHttpRequest
StandardProcessGroupIT
ShellUserGroupProviderIT
GenerateFlowFile
to mock static or dynamic flowfile content and attributes, which you can feed into a process group where the "flow under test" is deployed. From the FUT's perspective, this is no different from a production scenario. When the flow is updated, the same GFF can be used to "verify" the new behavior, and then it can be disabled and the "production" input connection can be dragged onto the same Input Port. More examples in my presentation BYOP: Custom Processor Development with Apache NiFi (slides)If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With