Writing Custom Processors for Apache NiFi is easy. I recommend you start with Apache NiFi 1.9.
You can download from Cloudera or the Apache NiFi site.
You will also need JDK 8 and Maven. And IDE like Eclipse or IntelliJ IDEA is helpful as well. I recommend a Linux or OSX machine to develop from.
Just build a new processor shell using: https://cwiki.apache.org/confluence/display/NIFI/Maven+Projects+for+Extensions
I have written a few Custom Processors for Apache NiFi, you can look at the source code:
https://community.hortonworks.com/content/kbentry/229215/apache-nifi-processor-for-apache-mxnet-ssd-single.html
https://community.hortonworks.com/content/kbentry/116803/building-a-custom-processor-in-apache-nifi-12-for.html

Good Articles:
https://medium.com/hashmapinc/creating-custom-processors-and-controllers-in-apache-nifi-e14148740ea
https://www.nifi.rocks/developing-a-custom-apache-nifi-processor-json/
References:
Apache NiFi Developers Guide
http://nifi.apache.org/docs.html
You can download from Cloudera or the Apache NiFi site.
You will also need JDK 8 and Maven. And IDE like Eclipse or IntelliJ IDEA is helpful as well. I recommend a Linux or OSX machine to develop from.
Just build a new processor shell using: https://cwiki.apache.org/confluence/display/NIFI/Maven+Projects+for+Extensions
I have written a few Custom Processors for Apache NiFi, you can look at the source code:
https://community.hortonworks.com/content/kbentry/229215/apache-nifi-processor-for-apache-mxnet-ssd-single.html
https://community.hortonworks.com/content/kbentry/116803/building-a-custom-processor-in-apache-nifi-12-for.html

Good Articles:
https://medium.com/hashmapinc/creating-custom-processors-and-controllers-in-apache-nifi-e14148740ea
https://www.nifi.rocks/developing-a-custom-apache-nifi-processor-json/
References:
Apache NiFi Developers Guide
http://nifi.apache.org/docs.html